class Arsenicum::Configuration::ConfigurationHash
Public Instance Methods
in_configuration?()
click to toggle source
# File lib/arsenicum/configuration.rb, line 169 def in_configuration? @in_configuration end
method_missing(method_id, *args, &block)
click to toggle source
Calls superclass method
# File lib/arsenicum/configuration.rb, line 180 def method_missing(method_id, *args, &block) case args.length when 0 return self[method_id] unless in_configuration? if block_given? new_value = ConfigurationHash.new new_value.under_configuration do new_value.instance_eval &block end self[method_id] = new_value else self[method_id] ||= ConfigurationHash.new end when 1 if (method_name = method_id.to_s)[-1] == '=' return self[method_name[0...-1].to_sym] = args.first end self[method_id] = args.first else super end end
under_configuration() { || ... }
click to toggle source
# File lib/arsenicum/configuration.rb, line 173 def under_configuration(&_) @in_configuration = true yield if block_given? ensure @in_configuration = false end