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.

Reply via email to