class Configue::ContainerAdapter
Public Class Methods
new(container_class)
click to toggle source
# File lib/configue/container_adapter.rb, line 5 def initialize(container_class) @class = container_class end
Public Instance Methods
config_method_name()
click to toggle source
# File lib/configue/container_adapter.rb, line 31 def config_method_name @class.instance_variable_get(:@config_access_name) end
instance()
click to toggle source
# File lib/configue/container_adapter.rb, line 13 def instance @class.instance_variable_get(:@instance) end
instance=(arg)
click to toggle source
# File lib/configue/container_adapter.rb, line 17 def instance=(arg) raise TypeError unless arg.respond_to?(:[]) @class.instance_variable_set(:@instance, arg) if arg.respond_to?(:keys) sig = class << @class; self; end arg.keys.each do |k| next unless k.to_s =~ /\A\w[\w0-9]*\z/ sig.__send__(:define_method, k, -> { arg[k] }) end end arg end
new_container(hash)
click to toggle source
# File lib/configue/container_adapter.rb, line 9 def new_container(hash) self.instance = @class.new(hash) end