Re: Rails 2.2.2 to_date and to_datetime methods

Robert Walker
Wed, 04 Feb 2009 20:58:53 -0000

James Byrne wrote:
> In the console I see this behaviour:
>
>
>>> "19270412000000".to_date.methods
> => ["ns?", "mon", "ago",
"end_of_month", "months_since",
> "default_inspect", "minus_without_duration", ...
>>> "19270412000000".to_date.class
> => Date
>>> "19270412000000".class
> => String
>>> String.to_date.methods
> NoMethodError: undefined method `to_date'' for String:Class
>         from (irb):23
>
> Can someone explain how a method may be present in an object instance
> but not in the object class?  Does Rails insert singleton methods into
> these instances?
String has no class method "to_date" yet it does have a
"to_date"
instance method. However, Ruby itself has neither a class nor instance
method named "to_date" for it''s String class.