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
45 lines
1.4 KiB
Ruby
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
|