[前][次][番号順一覧][スレッド一覧]

ruby-changes:11621

From: akr <ko1@a...>
Date: Wed, 22 Apr 2009 19:34:46 +0900 (JST)
Subject: [ruby-changes:11621] Ruby:r23258 (trunk): * lib/time.rb (Time.parse): use year completion in Date._parse.

akr	2009-04-22 19:34:29 +0900 (Wed, 22 Apr 2009)

  New Revision: 23258

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=23258

  Log:
    * lib/time.rb (Time.parse): use year completion in Date._parse.

  Modified files:
    trunk/ChangeLog
    trunk/lib/time.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 23257)
+++ ChangeLog	(revision 23258)
@@ -1,3 +1,7 @@
+Wed Apr 22 19:33:13 2009  Tanaka Akira  <akr@f...>
+
+	* lib/time.rb (Time.parse): use year completion in Date._parse.
+
 Wed Apr 22 11:12:15 2009  NAKAMURA Usaku  <usa@r...>
 
 	* time.c (GMTIME, LOCALTIME): should set result if not have *_r().
Index: lib/time.rb
===================================================================
--- lib/time.rb	(revision 23257)
+++ lib/time.rb	(revision 23258)
@@ -253,26 +253,13 @@
     # A failure for Time.parse should be checked, though.
     #
     def parse(date, now=self.now)
-      d = Date._parse(date, false)
+      comp = !block_given?
+      d = Date._parse(date, comp)
       if !d[:year] && !d[:mon] && !d[:mday] && !d[:hour] && !d[:min] && !d[:sec] && !d[:sec_fraction]
         raise ArgumentError, "no time information in #{date.inspect}"
       end
       year = d[:year]
-      if year
-        if block_given?
-          year = yield(year)
-        else
-          year = if year < 0
-                   year
-                 elsif year < 50
-                   2000 + year
-                 elsif year < 100
-                   1900 + year
-                 else
-                   year
-                 end
-        end
-      end
+      year = yield(year) if year && !comp
       make_time(year, d[:mon], d[:mday], d[:hour], d[:min], d[:sec], d[:sec_fraction], d[:zone], now)
     end
 

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]