diff options
| author | tadf <tadf@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-10-18 13:38:55 +0000 |
|---|---|---|
| committer | tadf <tadf@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-10-18 13:38:55 +0000 |
| commit | 38dbbea36f7c8a57663799f80bd6fbf92552224c (patch) | |
| tree | 0a4ab1ece5c28f9d9dec5e9023abfbc4aef5bc94 /lib | |
| parent | 71aa1541b999ea96b64ec9670efb43278245bf9c (diff) | |
| download | ruby-38dbbea36f7c8a57663799f80bd6fbf92552224c.tar.gz ruby-38dbbea36f7c8a57663799f80bd6fbf92552224c.tar.xz ruby-38dbbea36f7c8a57663799f80bd6fbf92552224c.zip | |
* lib/date.rb: do not require lib/delta.rb.
* lib/date/delta.rb: follows the above change.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@25393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/date.rb | 9 | ||||
| -rw-r--r-- | lib/date/delta.rb | 31 |
2 files changed, 32 insertions, 8 deletions
diff --git a/lib/date.rb b/lib/date.rb index 802ce8ec1..daa51d8e0 100644 --- a/lib/date.rb +++ b/lib/date.rb @@ -194,7 +194,6 @@ # puts secs_to_new_year() require 'date/format' -require 'date/delta' # Class representing a date. # @@ -1337,9 +1336,6 @@ class Date def + (n) case n when Numeric; return self.class.new!(@ajd + n, @of, @sg) - when Delta - d = n.__send__(:delta) - return (self >> d.imag) + d.real end raise TypeError, 'expected numeric' end @@ -1356,11 +1352,8 @@ class Date case x when Numeric; return self.class.new!(@ajd - x, @of, @sg) when Date; return @ajd - x.ajd - when Delta - d = x.__send__(:delta) - return (self << d.imag) - d.real end - raise TypeError, 'expected numeric' + raise TypeError, 'expected numeric or date' end # Compare this date with another date. diff --git a/lib/date/delta.rb b/lib/date/delta.rb index 283faf6ac..eacfdefc6 100644 --- a/lib/date/delta.rb +++ b/lib/date/delta.rb @@ -1,5 +1,6 @@ # delta.rb: Written by Tadayoshi Funaba 2004-2009 +require 'date' require 'date/delta/parser' class Date @@ -398,3 +399,33 @@ class Date end end + +vsave = $VERBOSE +$VERBOSE = false + +class Date + + def + (n) + case n + when Numeric; return self.class.new!(@ajd + n, @of, @sg) + when Delta + d = n.__send__(:delta) + return (self >> d.imag) + d.real + end + raise TypeError, 'expected numeric' + end + + def - (x) + case x + when Numeric; return self.class.new!(@ajd - x, @of, @sg) + when Date; return @ajd - x.ajd + when Delta + d = x.__send__(:delta) + return (self << d.imag) - d.real + end + raise TypeError, 'expected numeric' + end + +end + +$VERBOSE = vsave |
