summaryrefslogtreecommitdiff
path: root/lib/date
diff options
context:
space:
mode:
authortadf <tadf@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-02-18 10:37:12 +0000
committertadf <tadf@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-02-18 10:37:12 +0000
commit3ab997c07efc537d839404b006238e018c63e319 (patch)
tree58a50a5df9373e4a70f61abd1059c7300dc07be7 /lib/date
parent75fbcb9560c9bc0d5d9e315c7bd73d0f47534ab1 (diff)
updated based on date2 4.0.3.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/date')
-rw-r--r--lib/date/format.rb18
1 files changed, 9 insertions, 9 deletions
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