I''ve discovered a strange behavior regarding ActiveRecord and TimeWithZone I''ve seen the error when using SQL Server, I have not yet tried with any other database. Here''s output from the console - "User" is a simple model made with a migration. ----------------------------------------->> d1 = User.find(:first).created_at=> Thu, 21 Jun 2001 19:11:57 CEST +02:00>> d2 = Time.zone.now=> Fri, 23 Jan 2009 12:02:00 CET +01:00>> d1.class=> ActiveSupport::TimeWithZone>> d2.class=> ActiveSupport::TimeWithZone>> d2 - d1=> Thu Aug 04 17:50:03 UTC 1977>> d1 - d2TypeError: expected numeric or date from /usr/lib/ruby/1.8/date.rb:1252:in `minus_without_duration'' from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/core_ext/date/calculations.rb:88:in `-'' from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/time_with_zone.rb:201:in `-'' from (irb):11 ----------------------------------------- The strange thing is, that "d1" (the ActiveRecord attribute) reports itself as a TimeWithZone class, but it isn''t. If I do this instead>> d1 = Time.zone.now >> d2 = Time.zone.now >> d1 - d2I get no errors. So what exactly is happening in ActiveRecord? Is it a problem in the adapter? - Carsten -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
I will allow myself to bump this question just once, since I think it is important - it really seems like a bug, but I would like to know, if anyone else has experienced this before submitting to the bug list. - Carsten Carsten Gehling wrote:> I''ve discovered a strange behavior regarding ActiveRecord and > TimeWithZone > > ----------------------------------------- >>> d1 = User.find(:first).created_at > => Thu, 21 Jun 2001 19:11:57 CEST +02:00 >>> d2 = Time.zone.now > => Fri, 23 Jan 2009 12:02:00 CET +01:00 >>> d1.class > => ActiveSupport::TimeWithZone >>> d2.class > => ActiveSupport::TimeWithZone >>> d2 - d1 > => Thu Aug 04 17:50:03 UTC 1977 >>> d1 - d2 > TypeError: expected numeric or date > from /usr/lib/ruby/1.8/date.rb:1252:in `minus_without_duration'' > from > /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/core_ext/date/calculations.rb:88:in > `-'' > from > /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/time_with_zone.rb:201:in > `-'' > from (irb):11 > ------------------------------------------- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On Mon, Jan 26, 2009 at 9:53 AM, Carsten Gehling < rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> > I will allow myself to bump this question just once, since I think it is > important - it really seems like a bug, but I would like to know, if > anyone else has experienced this before submitting to the bug list. > > - Carsten > > Carsten Gehling wrote: > > I''ve discovered a strange behavior regarding ActiveRecord and > > TimeWithZone > > > > ----------------------------------------- > >>> d1 = User.find(:first).created_at > > => Thu, 21 Jun 2001 19:11:57 CEST +02:00 > >>> d2 = Time.zone.now > > => Fri, 23 Jan 2009 12:02:00 CET +01:00 > >>> d1.class > > => ActiveSupport::TimeWithZone > >>> d2.class > > => ActiveSupport::TimeWithZone > >>> d2 - d1 > > => Thu Aug 04 17:50:03 UTC 1977 > >>> d1 - d2 > > TypeError: expected numeric or date > > from /usr/lib/ruby/1.8/date.rb:1252:in `minus_without_duration'' > > from > > > /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/core_ext/date/calculations.rb:88:in > > `-'' > > from > > > /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/time_with_zone.rb:201:in > > `-'' > > from (irb):11 > > ----------------------------------------- > -- > Posted via http://www.ruby-forum.com/. > > > >Carsten I don''t get that error using Edge Rails>> d1 = u.created_at=> Sat, 03 Jan 2009 06:06:44 UTC +00:00>> d2 = Time.zone.now=> Mon, 26 Jan 2009 08:14:33 UTC +00:00>> d1.class=> ActiveSupport::TimeWithZone>> d2.class=> ActiveSupport::TimeWithZone>> d2 - d1=> 1994869.32909489>> d1 - d2=> -1994869.32909489>>-- Andrew Timberlake http://ramblingsonrails.com http://www.linkedin.com/in/andrewtimberlake "I have never let my schooling interfere with my education" - Mark Twain --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Andrew Timberlake wrote:> I don''t get that error using Edge RailsWhoops - should have tried that first... Sorry :-) And thanks. - Carsten -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---