Releases: phcdevworks/ruby_api_pack_core
Releases · phcdevworks/ruby_api_pack_core
Release list
Phase 0 - Shared Foundations
Change type: additive (initial extraction)
Added
- Initial extraction of
ruby_api_pack_corefrom the shared architecture
already converged on byruby_api_pack_active_campaign,
ruby_api_pack_cloudways, andruby_api_pack_wordpress:RubyApiPackCore::Connection::Base, a template-method HTTParty/Oj
connection wrapper providingapi_get/api_post/api_put/api_delete,
shared URL building,200..299status handling, content-type-checked
JSON parsing, and descriptive error messages. Subclasses implement only
#auth_headers.RubyApiPackCore::Handlers::ResponseValidator, a generic response-shape
validator (expected_type: :array/:hash) with Rails-aware error
logging, matching the validator already used by
ruby_api_pack_active_campaignandruby_api_pack_wordpress.RubyApiPackCore::Configurable, a mixin extracted from the
configure/configurationsingleton pattern duplicated across all
three existing gems.
- Full RSpec coverage (19 examples, 100% line coverage) for the connection
base class, response validator, and configurable mixin, exercised against
synthetic dummy subclasses/modules. - Standard PHCDevworks documentation scaffold:
README.md,AGENTS.md,
CLAUDE.md,CODEX.md,COPILOT.md,JULES.md,CONTRIBUTING.md,
SECURITY.md,CODE_OF_CONDUCT.md,MIT-LICENSE,ROADMAP.md,
TODO.md, GitHub issue/PR templates, CI workflows, and.coderabbit.yaml.
Changed
- Bumped
httpartyto~> 0.24.0(from~> 0.22.0) andrubocop-raketo
~> 0.7.0(from~> 0.6.0) to track current RubyGems releases. - Reverted an attempted development
bundlerbump to~> 4.0; kept~> 2.5
after CI failed to resolve/install the newer major version. - Raised
required_ruby_versionto>= 3.3.0(from>= 3.1.0), matching
Rails 8's own Ruby floor.httpartyandrubocopboth carry unbounded
transitive dependencies (multi_xml,parallel) whose newer majors
require Ruby >= 3.2 and >= 3.3 respectively; rather than pin those
transitive deps indefinitely, dropped support for Ruby versions below what
Rails 8 itself requires. Updated the CI matrix to['3.3.4', '3.4']
accordingly.