Project

General

Profile

Bug #11935

Updated by CJKinni (Christopher Kinniburgh) over 4 years ago

When passed invalid data, such as floats and nil values, the Date.new function returns a variety of results that aren't particularly easy to read and understand.    The 'undefined method 'div' for nil:NilClass' is particularly unhelpful. 

  

 ~~~ 
 irb(main):002:0> Date.new(1,nil,1) 
 TypeError: no implicit conversion from nil to integer 
 irb(main):003:0> Date.new(1,1,nil) 
 NoMethodError: undefined method `div' for nil:NilClass 
 irb(main):004:0> Date.new(nil,1,1) 
 NoMethodError: undefined method `<' for nil:NilClass 
 ~~~ 

 I have attached a potential fix.    It returns a more consistent set of "invalid day", "invalid month", and "invalid year" argument errors.

Back