Remove the global 'API' inflector acronym registration

Process-global ActiveSupport::Inflector state, not scoped to this gem —
requiring it inside a real host app (mozo-backend) broke Zeitwerk
autoloading of anything with "Api" in its name (JsonApiRenderer
camelized to JsonAPIRenderer instead, an uninitialized-constant error
with no obvious connection to this gem). Not needed here anyway:
autoload_default only ever goes constant name -> file path via
#underscore, never the reverse, so this module's own naming never
depended on it.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0199wudpuAtkhouHKSEGxzpa
This commit is contained in:
bterkuileandClaude Sonnet 5 committed 2026-09-15 09:57:24 -05:00
1 parent 90ab7c74b1
commit ae9ab1564e
1 file changed
+9 -2
+9 -2
View File
@@ -14,10 +14,17 @@ require_relative 'btc_attribute_type'
# require_relative 'api/base_model'
# require_relative 'api/invoice_response'
ActiveSupport::Inflector.inflections(:en) { |inflect| inflect.acronym 'API' }
module StrikeMe
module API
# Deliberately does NOT register 'API' as an ActiveSupport::Inflector
# acronym (used to, removed 2026-09-15) — that's process-global state,
# not scoped to this gem, and it broke Zeitwerk autoloading in a real
# host app (mozo-backend's JsonApiRenderer concern camelized to
# JsonAPIRenderer instead once this gem was required, an
# uninitialized-constant error with no obvious cause). Not needed
# here anyway: autoload_default below only ever goes constant name ->
# file path (via #underscore), never the reverse, so no inflection
# help is required for this module's own naming.
class Error < StandardError; end
def self.autoload_default(name)