lib/ruby-conf.rb in ruby-conf-2.0.0 vs lib/ruby-conf.rb in ruby-conf-2.1.0

- old
+ new

@@ -11,10 +11,11 @@ class Config attr_reader :__rc_attributes, :__rc_parent, :__rc_name, :__rc_chains, :__rc_locked def __rc_root() __rc_parent ? __rc_parent.__rc_root : self end + def detach() @__rc_parent = nil; self end def initialize(name = nil, parent = nil, &block) @__rc_locked, @__rc_attributes, @__rc_chains, @__rc_parent = false, {}, [], parent @__rc_name = name.to_sym if name instance_eval(&block) if block_given? @@ -46,16 +47,16 @@ def []=(name, value) @__rc_attributes[name.to_sym] = value end - def __rc_set_default(conf, key, value) + def __rc_set_defaults(conf, key, value) if conf.__rc_attributes.key?(key) if value.is_a?(Config) sub = conf.__rc_attributes[key] value.__rc_attributes.each do |k, v| - __rc_set_default(sub, k, v) + __rc_set_defaults(sub, k, v) end end else conf.__rc_attributes[key] = value end @@ -68,11 +69,11 @@ if block_given? if options.key?(:inherits) self[name] = [*options[:inherits]].inject(Config.new(name, self, &block)) do |conf, inherited| inherited = self[inherited.to_sym] unless inherited.is_a?(Config) __rc_copy(inherited.__rc_attributes).each do |key, value| - __rc_set_default(conf, key, value) + __rc_set_defaults(conf, key, value) end conf end elsif self[name].is_a?(Config) self[name].instance_eval(&block) @@ -103,12 +104,10 @@ self[name] else args = args.size == 1 ? args.first : args (@__rc_locked && __rc_attributes[name.to_sym].is_a?(Proc)) ? self[name, args] : self[name] = args end - end - end def respond_to?(name) super || @__rc_attributes.key?(name) || @__rc_parent.respond_to?(name) end