lib/dic.rb in dic-1.0.0 vs lib/dic.rb in dic-1.0.1

- old
+ new

@@ -7,19 +7,25 @@ @values = {} @log_activity = false @stack = [] end + def respond_to_missing?(name,include_private) + self[name] or super + end + def method_missing(name, *args, &proc) # setter if args.size == 1 || !proc.nil? name = name.to_s.gsub(/=$/,'').intern self[name]= args.first || proc # getter elsif args.empty? && proc.nil? - self[name] or raise DicError, "#{self.class}: undefined entry #{name}" + self[name] or super + # raise DicError, "#{self.class}: undefined entry #{name}" else - raise ArgumentError, "invalid argument #{name}, #{args.inspect}" + super + #raise ArgumentError, "invalid argument #{name}, #{args.inspect}" end end def [](key) unless @values.has_key?(key)