class Dry::Configurable::Extension

Attributes

config_class[R]

@api private

default_undefined[R]

@api private

Public Class Methods

new(config_class: Configurable::Config, default_undefined: false) click to toggle source

@api private

Calls superclass method
# File lib/dry/configurable/extension.rb, line 13
def initialize(config_class: Configurable::Config, default_undefined: false)
  super()
  @config_class = config_class
  @default_undefined = default_undefined
  freeze
end

Public Instance Methods

extended(klass) click to toggle source

@api private

Calls superclass method
# File lib/dry/configurable/extension.rb, line 21
def extended(klass)
  super
  klass.extend(ClassMethods)
  klass.instance_variable_set(:@__config_extension__, self)
end
included(klass) click to toggle source

@api private

Calls superclass method
# File lib/dry/configurable/extension.rb, line 28
def included(klass)
  super

  klass.class_eval do
    extend(ClassMethods)
    include(InstanceMethods)
    prepend(Initializer)

    class << self
      undef :config if method_defined?(:config)
      undef :configure if method_defined?(:configure)
    end
  end

  klass.instance_variable_set(:@__config_extension__, self)
end