Files
strike_me-api/lib/strike_me/api.rb
T
bterkuileandClaude Sonnet 5 ae9ab1564e 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
2026-09-15 09:57:24 -05:00

45 lines
1.4 KiB
Ruby

# frozen_string_literal: true
require 'pry'
# External
require 'active_support/all'
require 'active_model'
require 'faraday'
# Internal
require_relative 'api/version'
require_relative 'btc'
require_relative 'btc_attribute_type'
# require_relative 'api/base_model'
# require_relative 'api/invoice_response'
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)
autoload name, "#{"#{self.name}/#{name}".underscore}.rb"
end
# autoload :InvoiceResponse, 'strike_me/api/invoice_response.rb'
autoload_default :Client
autoload_default :BaseClient
autoload_default :BaseModel
autoload_default :Account
autoload_default :Invoices
autoload_default :InvoiceResponse
autoload_default :Webhook
autoload_default :WebhookEvent
end
end