mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* time.c (time_dup): duplicate the class of original time.
[ruby-core:09357] * lib/time.rb (Time::make_time, Time::rfc2822, Time::httpdate): should respect subclasses. [ruby-core:09357] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
d9ec86f410
commit
0f519375ab
3 changed files with 14 additions and 6 deletions
|
@ -1,3 +1,11 @@
|
|||
Tue Oct 31 17:03:21 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||
|
||||
* time.c (time_dup): duplicate the class of original time.
|
||||
[ruby-core:09357]
|
||||
|
||||
* lib/time.rb (Time::make_time, Time::rfc2822, Time::httpdate):
|
||||
should respect subclasses. [ruby-core:09357]
|
||||
|
||||
Tue Oct 31 16:25:22 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||
|
||||
* array.c (ary_shared_first): should address offset after
|
||||
|
|
10
lib/time.rb
10
lib/time.rb
|
@ -181,7 +181,7 @@ class Time
|
|||
t.localtime if !zone_utc?(zone)
|
||||
t
|
||||
else
|
||||
Time.local(year, mon, day, hour, min, sec, usec)
|
||||
self.local(year, mon, day, hour, min, sec, usec)
|
||||
end
|
||||
end
|
||||
private :make_time
|
||||
|
@ -304,7 +304,7 @@ class Time
|
|||
|
||||
year, mon, day, hour, min, sec =
|
||||
apply_offset(year, mon, day, hour, min, sec, zone_offset(zone))
|
||||
t = Time.utc(year, mon, day, hour, min, sec)
|
||||
t = self.utc(year, mon, day, hour, min, sec)
|
||||
t.localtime if !zone_utc?(zone)
|
||||
t
|
||||
else
|
||||
|
@ -331,14 +331,14 @@ class Time
|
|||
(\d{2}):(\d{2}):(\d{2})\x20
|
||||
GMT
|
||||
\s*\z/ix =~ date
|
||||
Time.rfc2822(date)
|
||||
self.rfc2822(date)
|
||||
elsif /\A\s*
|
||||
(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday),\x20
|
||||
(\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d)\x20
|
||||
(\d\d):(\d\d):(\d\d)\x20
|
||||
GMT
|
||||
\s*\z/ix =~ date
|
||||
Time.parse(date)
|
||||
self.parse(date)
|
||||
elsif /\A\s*
|
||||
(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)\x20
|
||||
(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\x20
|
||||
|
@ -346,7 +346,7 @@ class Time
|
|||
(\d\d):(\d\d):(\d\d)\x20
|
||||
(\d{4})
|
||||
\s*\z/ix =~ date
|
||||
Time.utc($6.to_i, MonthValue[$1.upcase], $2.to_i,
|
||||
self.utc($6.to_i, MonthValue[$1.upcase], $2.to_i,
|
||||
$3.to_i, $4.to_i, $5.to_i)
|
||||
else
|
||||
raise ArgumentError.new("not RFC 2616 compliant date: #{date.inspect}")
|
||||
|
|
2
time.c
2
time.c
|
@ -1019,7 +1019,7 @@ time_init_copy(VALUE copy, VALUE time)
|
|||
static VALUE
|
||||
time_dup(VALUE time)
|
||||
{
|
||||
VALUE dup = time_s_alloc(rb_cTime);
|
||||
VALUE dup = time_s_alloc(CLASS_OF(time));
|
||||
time_init_copy(dup, time);
|
||||
return dup;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue