module ConfigX::Interface::Base
Public Instance Methods
clone()
click to toggle source
Calls superclass method
# File lib/config_x/interface/base.rb, line 21 def clone cloned = super cloned_store = config_store.clone cloned.instance_variable_set(:@config_store, cloned_store) cloned.instance_variable_set(:@config, NamespaceDelegator.new(cloned)) cloned end
config()
click to toggle source
# File lib/config_x/interface/base.rb, line 8 def config @config ||= NamespaceDelegator.new(self) end
configure() { |config| ... }
click to toggle source
# File lib/config_x/interface/base.rb, line 12 def configure yield(config) end
configure!() { |config| ... }
click to toggle source
# File lib/config_x/interface/base.rb, line 16 def configure! yield(config) config_store.freeze end
Private Instance Methods
config_store()
click to toggle source
# File lib/config_x/interface/base.rb, line 44 def config_store @config_store ||= {} end
evaluate_config_proc_or_value(value, instance_exec: false)
click to toggle source
# File lib/config_x/interface/base.rb, line 48 def evaluate_config_proc_or_value(value, instance_exec: false) return unless value return value unless value.respond_to?(:call) if instance_exec value.arity == 1 ? instance_exec(self, &value) : instance_exec(&value) else value.call end end
store_map()
click to toggle source
# File lib/config_x/interface/base.rb, line 59 def store_map if is_a?(Class) instance_variable_get(:@store_maps)[:class] else self.class.instance_variable_get(:@store_maps)[:instance] end end