Does anyone know how to change the default option for the Date.parse (which ActiveRecord is using on all date fields). I would like the "comp" option to default to true so I don''t have to account for 2- digit dates throughout my application. http://corelib.rubyonrails.org/classes/Date.html#M001228 Thanks! Tom -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On 17 May 2011 17:11, TomRossi7 <tom-5bxIUPmzHicFraO2wh7vUA@public.gmane.org> wrote:> Does anyone know how to change the default option for the Date.parse > (which ActiveRecord is using on all date fields). I would like the > "comp" option to default to true so I don''t have to account for 2- > digit dates throughout my application. > > http://corelib.rubyonrails.org/classes/Date.html#M001228Do you mean you are giving ActiveRecord a string and expecting it to parse it into a Date as it writes it to the database? If so that is generally very dangerous. It is much better to parse it yourself into a Date so that you can be sure you are interpreting the input correctly, and can cope with parse errors. Then pass the Date to ActiveRecord. Or perhaps I am misunderstanding what you are doing. Colin -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
ActiveRecord, by default, parses strings using the Date.parse method. I''m trying to figure out how to tell it to use the comp=true option so it will parse two-digit years more logically. Currently, the default is false which allows you to say person.birthday= ''10/29/75'' and it parses that as October 29th of the year 0075. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On 17 May 2011 20:57, TomRossi7 <tom-5bxIUPmzHicFraO2wh7vUA@public.gmane.org> wrote:> ActiveRecord, by default, parses strings using the Date.parse method. I''m > trying to figure out how to tell it to use the comp=true option so it will > parse two-digit years more logically. Currently, the default is false which > allows you to say person.birthday= ''10/29/75'' and it parses that as October > 29th of the year 0075.Is the above in reply to my questions or are you just asking the same question again? If it is in reply to my post then try again, quoting my reply and answering the questions. Another question, where are the date strings coming from? User input? Don''t forget to answer the questions in the first post though. Colin -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On Tuesday, May 17, 2011 3:51:38 PM UTC-4, Colin Law wrote:> > On 17 May 2011 17:11, TomRossi7 <t...-5bxIUPmzHicFraO2wh7vUA@public.gmane.org> wrote: > > Does anyone know how to change the default option for the Date.parse > > (which ActiveRecord is using on all date fields). I would like the > > "comp" option to default to true so I don''t have to account for 2- > > digit dates throughout my application. > > > > http://corelib.rubyonrails.org/classes/Date.html#M001228 > > Do you mean you are giving ActiveRecord a string and expecting it to > parse it into a Date as it writes it to the database? If so that is > generally very dangerous. It is much better to parse it yourself into > a Date so that you can be sure you are interpreting the input > correctly, and can cope with parse errors. Then pass the Date to > ActiveRecord. Or perhaps I am misunderstanding what you are doing. >ActiveRecord typically does a great job in typecasting, handling exceptions, and validation so I''m not sure what you mean. Though, this is probably a different discussion altogether since my original question was just how to tweak the options for the current parsing that ActiveRecord is already doing.> Colin > >-- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
What does it matter where the data comes from? ActiveRecord parses it the same? If you don''t know, or if it isn''t possible, thats fine, but I don''t want to overcomplicate the question. On Tue, May 17, 2011 at 4:21 PM, Colin Law <clanlaw-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:> On 17 May 2011 20:57, TomRossi7 <tom-5bxIUPmzHicFraO2wh7vUA@public.gmane.org> wrote: > > ActiveRecord, by default, parses strings using the Date.parse method. > I''m > > trying to figure out how to tell it to use the comp=true option so it > will > > parse two-digit years more logically. Currently, the default is false > which > > allows you to say person.birthday= ''10/29/75'' and it parses that as > October > > 29th of the year 0075. > > Is the above in reply to my questions or are you just asking the same > question again? If it is in reply to my post then try again, quoting > my reply and answering the questions. > > Another question, where are the date strings coming from? User input? > > Don''t forget to answer the questions in the first post though. > > Colin > > -- > 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to > rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > For more options, visit this group at > http://groups.google.com/group/rubyonrails-talk?hl=en. > >-- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On 17 May 2011 21:37, TomRossi7 <tom-5bxIUPmzHicFraO2wh7vUA@public.gmane.org> wrote:> > > On Tuesday, May 17, 2011 3:51:38 PM UTC-4, Colin Law wrote: >> >> On 17 May 2011 17:11, TomRossi7 <t...-5bxIUPmzHicFraO2wh7vUA@public.gmane.org> wrote: >> > Does anyone know how to change the default option for the Date.parse >> > (which ActiveRecord is using on all date fields). I would like the >> > "comp" option to default to true so I don''t have to account for 2- >> > digit dates throughout my application. >> > >> > http://corelib.rubyonrails.org/classes/Date.html#M001228 >> >> Do you mean you are giving ActiveRecord a string and expecting it to >> parse it into a Date as it writes it to the database?I am still not sure I understand the question - is the answer to the above question ''yes''?>> If so that is >> generally very dangerous. It is much better to parse it yourself into >> a Date so that you can be sure you are interpreting the input >> correctly, and can cope with parse errors. Then pass the Date to >> ActiveRecord. Or perhaps I am misunderstanding what you are doing. > > ActiveRecord typically does a great job in typecasting, handling exceptions, > and validation so I''m not sure what you mean. Though, this is probably a > different discussion altogether since my original question was just how to > tweak the options for the current parsing that ActiveRecord is already > doing.I was just trying to point out that there may be a better way, for example how do you know whether whether ''10/2/05'' is 2nd October or 10th February? It is generally not a good idea to allow dates to be entered for strings. One man''s date is another man''s exception. Colin -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Have you considered using the Chronic gem? I don''t know how to do what you''re asking but have recently implement Chronic to "make date parsing more sane." (Actual verbiage from my assigned task.) It''s quite a handy gem, you might consider implementing it. http://chronic.rubyforge.org/ On May 17, 11:11 am, TomRossi7 <t...-5bxIUPmzHicFraO2wh7vUA@public.gmane.org> wrote:> Does anyone know how to change the default option for the Date.parse > (which ActiveRecord is using on all date fields). I would like the > "comp" option to default to true so I don''t have to account for 2- > digit dates throughout my application. > > http://corelib.rubyonrails.org/classes/Date.html#M001228 > > Thanks! > Tom-- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On Tue, May 17, 2011 at 4:54 PM, Colin Law <clanlaw-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:> On 17 May 2011 21:37, TomRossi7 <tom-5bxIUPmzHicFraO2wh7vUA@public.gmane.org> wrote: > > > > > > On Tuesday, May 17, 2011 3:51:38 PM UTC-4, Colin Law wrote: > >> > >> On 17 May 2011 17:11, TomRossi7 <t...-5bxIUPmzHicFraO2wh7vUA@public.gmane.org> wrote: > >> > Does anyone know how to change the default option for the Date.parse > >> > (which ActiveRecord is using on all date fields). I would like the > >> > "comp" option to default to true so I don''t have to account for 2- > >> > digit dates throughout my application. > >> > > >> > http://corelib.rubyonrails.org/classes/Date.html#M001228 > >> > >> Do you mean you are giving ActiveRecord a string and expecting it to > >> parse it into a Date as it writes it to the database? > > I am still not sure I understand the question - is the answer to the > above question ''yes''? >The answer is whenever ActiveRecord parses the string. In Rails 3, its when you call the setter.> > >> If so that is > >> generally very dangerous. It is much better to parse it yourself into > >> a Date so that you can be sure you are interpreting the input > >> correctly, and can cope with parse errors. Then pass the Date to > >> ActiveRecord. Or perhaps I am misunderstanding what you are doing. > > > > ActiveRecord typically does a great job in typecasting, handling > exceptions, > > and validation so I''m not sure what you mean. Though, this is probably a > > different discussion altogether since my original question was just how > to > > tweak the options for the current parsing that ActiveRecord is already > > doing. > > I was just trying to point out that there may be a better way, for > example how do you know whether whether ''10/2/05'' is 2nd October or > 10th February? It is generally not a good idea to allow dates to be > entered for strings. One man''s date is another man''s exception. >Yeah, in general I agree with you. For my application, Its working great now, except for when a user uses a 2-digit year.> > Colin > > -- > 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to > rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > For more options, visit this group at > http://groups.google.com/group/rubyonrails-talk?hl=en. > >-- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.