# 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