diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | lib/date/format.rb | 18 |
2 files changed, 13 insertions, 9 deletions
@@ -1,3 +1,7 @@ +Sun Feb 18 19:35:21 2007 Tadayoshi Funaba <tadf@dotrb.org> + + * lib/date/format.rb: updated based on date2 4.0.3. + Fri Feb 16 11:18:21 2007 Eric Hodel <drbrain@segment7.net> * lib/.document: Apply patch for irb, e2mmap and README by Hugh Sasse diff --git a/lib/date/format.rb b/lib/date/format.rb index ca890cf8f5..eb1ca86f16 100644 --- a/lib/date/format.rb +++ b/lib/date/format.rb @@ -1,5 +1,5 @@ # format.rb: Written by Tadayoshi Funaba 1999-2007 -# $Id: format.rb,v 2.30 2007-01-07 09:16:24+09 tadf Exp $ +# $Id: format.rb,v 2.31 2007-02-18 12:08:09+09 tadf Exp $ require 'rational' @@ -96,23 +96,23 @@ class Date class Bag # :nodoc: + def initialize + @elem = {} + end + def method_missing(t, *args, &block) t = t.to_s set = t.chomp!('=') - t = '@' + t + t = t.intern if set - instance_variable_set(t, *args) + @elem[t] = args[0] else - if instance_variables.include?(t) - instance_variable_get(t) - end + @elem[t] end end def to_hash - instance_variables. - select{|n| !instance_variable_get(n).nil?}.grep(/\A@[^_]/). - inject({}){|r, n| r[n[1..-1].intern] = instance_variable_get(n); r} + @elem.reject{|k, v| /\A_/ =~ k.to_s || v.nil?} end end |