Hi, A quick question: in the query `Company.where(:status => :active)`, is it OK to use the symbol (:active) as a value in the query? It definitely works with no issues at all. But there''s a lot of controversy around that in the squeel: https://github.com/ernie/squeel/issues/67#issuecomment-5237083 Ernie explains that the use of Symbols in ActiveRecord wasn''t assumed and is incorrect. Additionally, he says "In AR documentation, symbols are never shown as a value in examples.". I personally feel a bit lost in this regard and it would be awesome if somebody could shade some light on this. Cheers, Dmytrii. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-core/-/N01WV_Qx28UJ. To post to this group, send email to rubyonrails-core@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
> Hi, > > A quick question: in the query `Company.where(:status => :active)`, is it OK to use the symbol (:active) as a value in the query? > > It definitely works with no issues at all. >I''m not sure I''d consider it a public stable API, but if it works, go wild :). -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
On 20/04/2012, at 2:13 PM, Michael Koziarski wrote:> >> Hi, >> >> A quick question: in the query `Company.where(:status => :active)`, is it OK to use the symbol (:active) as a value in the query? >> >> It definitely works with no issues at all. >> > I''m not sure I''d consider it a public stable API, but if it works, go wild :).So it is not a public API and the symbols were not supposed to be used this way? RIght? -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
On 20/04/12 12:21, Dmytrii Nagirniak wrote:>>> Hi, >>> >>> A quick question: in the query `Company.where(:status => :active)`, is it OK to use the symbol (:active) as a value in the query? >>> >>> It definitely works with no issues at all. >>> >> I''m not sure I''d consider it a public stable API, but if it works, go wild :). > > So it is not a public API and the symbols were not supposed to be used this way? RIght?It''s not really good Ruby style. See http://blog.hasmanythrough.com/2008/4/19/symbols-are-not-pretty-strings However I think we''d probably have to add specific code to make it *not* work, so it will probably continue to work in the future. But I wouldn''t recommend doing it. -- http://jonathanleighton.com/ -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
On 20/04/2012, at 9:30 PM, Jon Leighton wrote:> On 20/04/12 12:21, Dmytrii Nagirniak wrote: >>>> Hi, >>>> >>>> A quick question: in the query `Company.where(:status => :active)`, is it OK to use the symbol (:active) as a value in the query? >>>> >>>> It definitely works with no issues at all. >>>> >>> I''m not sure I''d consider it a public stable API, but if it works, go wild :). >> >> So it is not a public API and the symbols were not supposed to be used this way? RIght? > > It''s not really good Ruby style. See http://blog.hasmanythrough.com/2008/4/19/symbols-are-not-pretty-stringsDo you mind to explain why exactly? I get the difference between strings and symbols, but in the example of "status" the string is definitely a wrong candidate to me. It is "internal" to the system. Although I understand and ok with converting it to a string to query, I don''t see why symbol isn''t good in this case (`company.status == :active`).> However I think we''d probably have to add specific code to make it *not* work, so it will probably continue to work in the future. But I wouldn''t recommend doing it.I think you guys have settled that symbols are not "officially supported" here https://github.com/ernie/squeel/issues/67#issuecomment-5270896 So I''ll take it for granted. Thanks a lot for the help. Cheers. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
On 23/04/2012, at 12:37 PM, Dmytrii Nagirniak wrote:> I think you guys have settled that symbols are not "officially supported" here https://github.com/ernie/squeel/issues/67#issuecomment-5270896 > > So I''ll take it for granted. Thanks a lot for the help.Thus, this docrails commit. Hope that makes any sense. https://github.com/lifo/docrails/commit/50c5005bafe7e43f81a141cd2c512379aec74325#commitcomment-1242004 -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.