From: citrusmoose@... Date: 2018-10-08T12:41:54+00:00 Subject: [ruby-core:89314] [Ruby trunk Bug#11037] Time Parse Documentation Incorrect - Undefined method getlocal Issue #11037 has been updated by citrusmoose (Matt Rice). What is the status of this? ---------------------------------------- Bug #11037: Time Parse Documentation Incorrect - Undefined method getlocal https://bugs.ruby-lang.org/issues/11037#change-74343 * Author: cfis (Charlie Savage) * Status: Assigned * Priority: Normal * Assignee: akr (Akira Tanaka) * Target version: * ruby -v: ruby 2.2.1p85 (2015-02-26 revision 49769) [x64-mingw32] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- According to: http://ruby-doc.org/stdlib-2.2.1/libdoc/time/rdoc/Time.html `Time#parse` can take a 2nd parameter: > We can change the date used to infer our missing elements by passing a second object that responds to mon, day and year, such as `Date`, `Time` or `DateTime`. We can also use our own object. However, that is not correct: ~~~ruby irb(main):010:0> Time.parse('12:30 AM', Date.today) NoMethodError: undefined method `getlocal' for # from C:/mingw64/mingw64/local/ruby/lib/ruby/2.2.0/time.rb:262:in `make_time' from C:/mingw64/mingw64/local/ruby/lib/ruby/2.2.0/time.rb:364:in `parse' from (irb):10 from C:/mingw64/mingw64/local/ruby/bin/irb:11:in `
' ~~~ The problem is in `Time#make_time`, lines 259 through 263: ~~~ruby if off now = now.getlocal(off) if now.utc_offset != off else now = now.getlocal end ~~~ The behavior the documentation does seem desirable, so the code above should check if the now parameter responds to `getlocal` or not (only `Time` does, `Date` and `DateTime` do not). Or of course the documentation should be updated to specify that a time object must be passed as the now parameter. ---Files-------------------------------- time_parse.patch (1.3 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: