This roadmap tracks the direction for ruby_api_pack_core as the shared HTTP
client foundation for every ruby_api_pack_* gem. It is planning context, not
a release promise.
- Keep
Connection::Base,Handlers::ResponseValidator, andConfigurablestable now thatruby_api_pack_active_campaign,ruby_api_pack_cloudways, andruby_api_pack_wordpressall depend on this gem. - Keep this gem free of any vendor-specific knowledge.
- Confirm all three consuming gems pass their own validation gates against
the published
ruby_api_pack_coreversion. - Expand README examples showing how a new
ruby_api_pack_*gem should subclassConnection::Baseand extendConfigurable. - Consider a typed error class hierarchy (e.g.
RubyApiPackCore::Errors::HttpError,RubyApiPackCore::Errors::ParseError) shared by all consuming gems, since every gem currently raises plainRuntimeErrors independently. - Confirm supported Ruby versions across CI and gem metadata.
- Consider an optional retry/backoff hook on
Connection::Baseif more than one consuming gem needs rate-limit handling (currently onlyruby_api_pack_cloudwaysretries on rate limits, implemented locally). - Add a generator or documented scaffold for creating a new
ruby_api_pack_*gem from this foundation. - Evaluate whether
Handlers::ResponseValidator'sexpected_keyunwrapping style (used historically byruby_api_pack_cloudways) should be offered as an alternative mode alongsideexpected_type.
- Any vendor-specific API knowledge (tokens, endpoint paths, resource classes)
- Host application data models or persistence
- User-facing Rails controllers or views
- Storage or management of production secrets