mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/time.rb: do not reference Time directly from the inside of
definitions. [ruby-dev:33059] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15030 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
0d7451ba82
commit
6a651b6cde
2 changed files with 12 additions and 7 deletions
|
@ -1,3 +1,8 @@
|
|||
Mon Jan 14 09:32:40 2008 Tadayoshi Funaba <tadf@dotrb.org>
|
||||
|
||||
* lib/time.rb: do not reference Time directly from the inside of
|
||||
definitions. [ruby-dev:33059]
|
||||
|
||||
Sat Jan 12 18:27:41 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* eval.c (rb_define_alloc_func, rb_undef_alloc_func): should
|
||||
|
|
14
lib/time.rb
14
lib/time.rb
|
@ -66,7 +66,7 @@ class Time
|
|||
'N' => -1, 'O' => -2, 'P' => -3, 'Q' => -4, 'R' => -5, 'S' => -6,
|
||||
'T' => -7, 'U' => -8, 'V' => -9, 'W' => -10, 'X' => -11, 'Y' => -12,
|
||||
}
|
||||
def zone_offset(zone, year=Time.now.year)
|
||||
def zone_offset(zone, year=self.now.year)
|
||||
off = nil
|
||||
zone = zone.upcase
|
||||
if /\A([+-])(\d\d):?(\d\d)\z/ =~ zone
|
||||
|
@ -75,9 +75,9 @@ class Time
|
|||
off = zone.to_i * 3600
|
||||
elsif ZoneOffset.include?(zone)
|
||||
off = ZoneOffset[zone] * 3600
|
||||
elsif ((t = Time.local(year, 1, 1)).zone.upcase == zone rescue false)
|
||||
elsif ((t = self.local(year, 1, 1)).zone.upcase == zone rescue false)
|
||||
off = t.utc_offset
|
||||
elsif ((t = Time.local(year, 7, 1)).zone.upcase == zone rescue false)
|
||||
elsif ((t = self.local(year, 7, 1)).zone.upcase == zone rescue false)
|
||||
off = t.utc_offset
|
||||
end
|
||||
off
|
||||
|
@ -177,7 +177,7 @@ class Time
|
|||
if off
|
||||
year, mon, day, hour, min, sec =
|
||||
apply_offset(year, mon, day, hour, min, sec, off)
|
||||
t = Time.utc(year, mon, day, hour, min, sec, usec)
|
||||
t = self.utc(year, mon, day, hour, min, sec, usec)
|
||||
t.localtime if !zone_utc?(zone)
|
||||
t
|
||||
else
|
||||
|
@ -236,7 +236,7 @@ class Time
|
|||
#
|
||||
# A failure for Time.parse should be checked, though.
|
||||
#
|
||||
def parse(date, now=Time.now)
|
||||
def parse(date, now=self.now)
|
||||
d = Date._parse(date, false)
|
||||
year = d[:year]
|
||||
year = yield(year) if year && block_given?
|
||||
|
@ -368,9 +368,9 @@ class Time
|
|||
zone = $8
|
||||
year, mon, day, hour, min, sec =
|
||||
apply_offset(year, mon, day, hour, min, sec, zone_offset(zone))
|
||||
Time.utc(year, mon, day, hour, min, sec, usec)
|
||||
self.utc(year, mon, day, hour, min, sec, usec)
|
||||
else
|
||||
Time.local(year, mon, day, hour, min, sec, usec)
|
||||
self.local(year, mon, day, hour, min, sec, usec)
|
||||
end
|
||||
else
|
||||
raise ArgumentError.new("invalid date: #{date.inspect}")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue