On Feb 28, 11:58 pm, Maurício Linhares <[email protected]>
wrote:
> They didn't worke for me either, so I rewrote the to_s method for
> dates and times:
>
> Date.class_eval do
>
>   def to_s( format_name = :default )
>     format = case format_name
>     when String
>       self.strftime( format )
>     when Symbol
>       I18n.localize( self, :format => format_name)
>     end
>   end
>
> end
>
> Time.class_eval do
>
>   def to_s( format_name = :default )
>     format = case format_name
>     when String
>       self.strftime( format )
>     when Symbol
>       I18n.localize( self, :format => format_name)
>     end
>   end
>
> end

Great! Thanks, this works for me. (Small bug: parameter to strftime
should be format_name, not format).

> I did also search for reasons why it doesn't work (from the I18N docs
> it seemed that it should work), but this method at the Date object
> shows that it has no idea about I18N:
>
>         def to_formatted_s(format = :default)
>           if formatter = DATE_FORMATS[format]
>             if formatter.respond_to?(:call)
>               formatter.call(self).to_s
>             else
>               strftime(formatter)
>             end
>           else
>             to_default_s
>           end
>         end

Yeah I dug up this piece of source code as well. Guess I was too tired
to compare this with for instance number_to_currency's source and come
to this conclusion myself ;) Anyway, thanks again!

Ronald

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to