ruby-changes:1845
From: ko1@a...
Date: 2 Sep 2007 00:49:26 +0900
Subject: [ruby-changes:1845] tadf - Ruby:r13336 (ruby_1_8): * lib/date/format.rb (_parse): improved parsing of ordinal dates.
tadf 2007-09-02 00:49:18 +0900 (Sun, 02 Sep 2007)
New Revision: 13336
Modified files:
branches/ruby_1_8/ChangeLog
branches/ruby_1_8/lib/date/format.rb
Log:
* lib/date/format.rb (_parse): improved parsing of ordinal dates.
* lib/date/format.rb (_parse): use named character classes in some
regular expressions.
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ChangeLog?r1=13336&r2=13335
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/lib/date/format.rb?r1=13336&r2=13335
Index: ruby_1_8/ChangeLog
===================================================================
--- ruby_1_8/ChangeLog (revision 13335)
+++ ruby_1_8/ChangeLog (revision 13336)
@@ -1,3 +1,10 @@
+Sun Sep 2 00:48:15 2007 Tadayoshi Funaba <tadf@d...>
+
+ * lib/date/format.rb (_parse): improved parsing of ordinal dates.
+
+ * lib/date/format.rb (_parse): use named character classes in some
+ regular expressions.
+
Sat Sep 1 08:13:36 2007 Masaki Suketa <masaki.suketa@n...>
* ext/win32ole/win32ole.c: add WIN32OLE#ole_activex_initialize.
Index: ruby_1_8/lib/date/format.rb
===================================================================
--- ruby_1_8/lib/date/format.rb (revision 13335)
+++ ruby_1_8/lib/date/format.rb (revision 13336)
@@ -1,5 +1,5 @@
# format.rb: Written by Tadayoshi Funaba 1999-2007
-# $Id: format.rb,v 2.36 2007-07-21 00:21:04+09 tadf Exp $
+# $Id: format.rb,v 2.38 2007-09-01 00:03:46+09 tadf Exp $
require 'rational'
@@ -551,8 +551,8 @@
e._cent ||= if val >= 69 then 19 else 20 end
when 'Z', /\A:{0,3}z/
return unless str.sub!(/\A((?:gmt|utc?)?[-+]\d+(?:[,.:]\d+(?::\d+)?)?
- |[a-z.\s]+(?:standard|daylight)\s+time\b
- |[a-z]+(?:\s+dst)?\b
+ |[[:alpha:].\s]+(?:standard|daylight)\s+time\b
+ |[[:alpha:]]+(?:\s+dst)?\b
)/ix, '')
val = $1
e.zone = val
@@ -623,6 +623,10 @@
m = m.to_s
end
+ if y && m && !d
+ y, m, d = d, y, m
+ end
+
if y == nil
if d && d.size > 2
y = d
@@ -718,9 +722,9 @@
(
(?:gmt|utc?)?[-+]\d+(?:[,.:]\d+(?::\d+)?)?
|
- [a-z.\s]+(?:standard|daylight)\stime\b
+ [[:alpha:].\s]+(?:standard|daylight)\stime\b
|
- [a-z]+(?:\sdst)?\b
+ [[:alpha:]]+(?:\sdst)?\b
)
)?
/inx,
@@ -831,10 +835,15 @@
e.mon = $1.to_i
e.mday = $2.to_i if $2
true
- elsif str.sub!(/\b(\d{2}|\d{4})?-(\d{3})\b/n, ' ')
- e.year = $1.to_i if $1
+ elsif /[,.](\d{2}|\d{4})-\d{3}\b/n !~ str &&
+ str.sub!(/\b(\d{2}|\d{4})-(\d{3})\b/n, ' ')
+ e.year = $1.to_i
e.yday = $2.to_i
true
+ elsif /\d-\d{3}\b/n !~ str &&
+ str.sub!(/\b-(\d{3})\b/n, ' ')
+ e.yday = $1.to_i
+ true
end
end
@@ -865,7 +874,7 @@
end
def self._parse_sla(str, e) # :nodoc:
- if str.sub!(%r|('?-?\d+)/\s*('?\d+)(?:[^\d]\s*('?-?\d+))?|n, ' ') # '
+ if str.sub!(%r|('?-?\d+)/\s*('?\d+)(?:\D\s*('?-?\d+))?|n, ' ') # '
s3e(e, $3, $1, $2)
true
end
@@ -879,7 +888,7 @@
end
def self._parse_year(str, e) # :nodoc:
- if str.sub!(/'(\d+)\b/in, ' ')
+ if str.sub!(/'(\d+)\b/n, ' ')
e.year = $1.to_i
true
end
@@ -1044,7 +1053,7 @@
e._comp = comp
- str.gsub!(/[^-+',.\/:0-9@a-z\[\]\x80-\xff]+/in, ' ')
+ str.gsub!(/[^-+',.\/:@[:alnum:]\[\]\x80-\xff]+/n, ' ')
_parse_time(str, e) # || _parse_beat(str, e)
_parse_day(str, e)
--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml