I believe that the arel implementation leads to brackets around left and right sides of the or. This can be checked by using my branch and doing .to_sql on any scope chain produced.
Sent from my iPhone On 22 Jun 2012, at 17:05, daniel2d2art <[email protected]> wrote: > We're following to using disjunction on two or more chained scopes. > This scopes can continue use custom logical conditions. Normal would > be to use parentheses between on query. > In pro of DRY some cases we need use scopes conected as AND but in > another cases we need to use OR connections. Rails only do scope chain > with AND. Some times you need to rewritte a full functionality of one > or more scoper only for use OR connections. > > > On 22 jun, 04:05, Andrew Kaspick <[email protected]> wrote: >> Maybe I've missed it, but how do you define precedence between the >> usual AND's and now OR's? Chaining a bunch of AND's will always >> results in the same result, but add OR to the mix and now you're >> complicating things unless you're a lot more explicit with the >> conditions. >> >> >> >> >> >> >> >> On Thu, Jun 21, 2012 at 7:13 PM, Daniel Vázquez <[email protected]> >> wrote: >>> Wow yep! I'hope this prosperes ... I'm not sure next step for consolidation >>> on RoR version. >>> Thanks Loz >> >>> 2012/6/21 Jonathan Lozinski <[email protected]> >> >>>> I have raised a pull request which gets this started, though there's >>>> feedback required for sure: >> >>>> https://github.com/rails/rails/pull/6817 >> >>>> On 21 June 2012 18:35, daniel2d2art <[email protected]> wrote: >> >>>>> Yes I think some chainity_operator method like you say, can works ok too. >> >>>>> On Thursday, June 21, 2012 5:27:51 PM UTC+2, mrloz wrote: >> >>>>>> We have wanted similar, and resorted to getting where's out of arel. >> >>>>>> I thought about the following syntax: >> >>>>>> MyModel.somescope.or(something_which_is_a_scope_chain_too) >> >>>>>> Sent from my iPhone >> >>>>>> On 21 Jun 2012, at 15:57, daniel2d2art <[email protected]> wrote: >> >>>>>> Hi guys, I'want to introduce this discussion (I'm looking for similar >>>>>> here, but don't found it) >> >>>>>> Actually the scopes chainity is glued with "AND" operator. >>>>>> Some times we need to chain the same scope implemented method using both >>>>>> "OR" or cases with "AND" operators. But It's not possible because >>>>>> chainity >>>>>> does only with "AND" operator. If you need "OR" conditions you need to >>>>>> re-implement explicit method to do it. >>>>>> In the interests of DRY, what you think to pass a "chainity_operator" >>>>>> param in chain scopes?? by default can be set to "AND", but can be >>>>>> changed >>>>>> for an "OR" if need. Then we can reuse the sames scopes on differents >>>>>> combinations. >>>>>> Or may a chainity_operator method that can be chained with scoped where >>>>>> methods? >>>>>> I'm not sure if possible or if it break any AR-AREL architecture. >> >>>>>> Best >> >>>>>> -- >>>>>> 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/-/LFQWTRHdM8EJ. >>>>>> 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-core?hl=en. >> >>>>> -- >>>>> 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/-/vMihSC-FuxgJ. >> >>>>> 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-core?hl=en. >> >>>> -- >>>> 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 [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-core?hl=en. >> >>> -- >>> Daniel Vázquez >>> SICONET (A Bull Group Company) >>> Torre Agbar. Avda. Diagonal, 211 - planta 23 >>> 08018 - Barcelona >>> telf: + 34 93 2272727 (Ext. 2952) >>> fax: + 34 93 2272728 >>> www.bull.es-www.siconet.es >>> [email protected] >> >>> -- >>> 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 [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-core?hl=en. > > -- > 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 [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-core?hl=en. > -- 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 [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-core?hl=en.
