module Dry::Configurable

def self.extended(klass)

Other tags:
    Api: - private
def self.extended(klass)
  super
  klass.extend(Extension.new)
end

def self.included(klass)

Other tags:
    Api: - private
def self.included(klass)
  super
  klass.include(Extension.new)
end

def self.loader

def self.loader
  @loader ||= Zeitwerk::Loader.new.tap do |loader|
    root = File.expand_path("..", __dir__)
    loader.tag = "dry-configurable"
    loader.inflector = Zeitwerk::GemInflector.new("#{root}/dry-configurable.rb")
    loader.push_dir(root)
    loader.ignore(
      "#{root}/dry-configurable.rb",
      "#{root}/dry/configurable/{constants,errors,version}.rb"
    )
    loader.inflector.inflect("dsl" => "DSL")
  end
end

def enable_test_interface

Other tags:
    Api: - public
def enable_test_interface
  extend Dry::Configurable::TestInterface
end