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>
|
Sat Jan 12 18:27:41 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* eval.c (rb_define_alloc_func, rb_undef_alloc_func): should
|
* 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,
|
'N' => -1, 'O' => -2, 'P' => -3, 'Q' => -4, 'R' => -5, 'S' => -6,
|
||||||
'T' => -7, 'U' => -8, 'V' => -9, 'W' => -10, 'X' => -11, 'Y' => -12,
|
'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
|
off = nil
|
||||||
zone = zone.upcase
|
zone = zone.upcase
|
||||||
if /\A([+-])(\d\d):?(\d\d)\z/ =~ zone
|
if /\A([+-])(\d\d):?(\d\d)\z/ =~ zone
|
||||||
|
@ -75,9 +75,9 @@ class Time
|
||||||
off = zone.to_i * 3600
|
off = zone.to_i * 3600
|
||||||
elsif ZoneOffset.include?(zone)
|
elsif ZoneOffset.include?(zone)
|
||||||
off = ZoneOffset[zone] * 3600
|
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
|
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
|
off = t.utc_offset
|
||||||
end
|
end
|
||||||
off
|
off
|
||||||
|
@ -177,7 +177,7 @@ class Time
|
||||||
if off
|
if off
|
||||||
year, mon, day, hour, min, sec =
|
year, mon, day, hour, min, sec =
|
||||||
apply_offset(year, mon, day, hour, min, sec, off)
|
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.localtime if !zone_utc?(zone)
|
||||||
t
|
t
|
||||||
else
|
else
|
||||||
|
@ -236,7 +236,7 @@ class Time
|
||||||
#
|
#
|
||||||
# A failure for Time.parse should be checked, though.
|
# 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)
|
d = Date._parse(date, false)
|
||||||
year = d[:year]
|
year = d[:year]
|
||||||
year = yield(year) if year && block_given?
|
year = yield(year) if year && block_given?
|
||||||
|
@ -368,9 +368,9 @@ class Time
|
||||||
zone = $8
|
zone = $8
|
||||||
year, mon, day, hour, min, sec =
|
year, mon, day, hour, min, sec =
|
||||||
apply_offset(year, mon, day, hour, min, sec, zone_offset(zone))
|
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
|
else
|
||||||
Time.local(year, mon, day, hour, min, sec, usec)
|
self.local(year, mon, day, hour, min, sec, usec)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
raise ArgumentError.new("invalid date: #{date.inspect}")
|
raise ArgumentError.new("invalid date: #{date.inspect}")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue