To add to that, if you want to construct complex queries, you should have a
look at arel <https://github.com/rails/arel>.

On Sat, May 19, 2012 at 12:17 AM, azizmb.in <m...@azizmb.in> wrote:

> AFAIK, something like this should work:
>
> def find_visibles
>     find_in_coverage | find_known_missing
> end
>
>
> On Fri, May 18, 2012 at 10:53 PM, Gustavo de Sá Carvalho Honorato <
> gustavohonor...@gmail.com> wrote:
>
>> Hi all!
>>
>> I've googled all over and I couldn't find anything about chaining scopes
>> with OR instead of the default AND.
>>
>> I have an Asset model with the following scopes:
>>
>> class Asset < ActiveRecord::Base
>>
>> (...)
>>
>>   scope :find_in_coverage, lambda { where('timestamp(assets.found_at) >=
>> ?', Asset.found_at_limit) }
>>   scope :find_unknown_in_coverage, where('assets.asset_type_id IS
>> NULL').find_in_coverage
>>   scope :find_known_missing, lambda { where('assets.found_at < ? AND
>> assets.asset_type_id IS NOT NULL', Asset.found_at_limit) }
>>
>> end
>>
>> I would like to create another scope ("find_visibles") which is the OR of
>> "find_in_coverage" and "find_known_missing" scopes, like that:
>>
>> scope :find_visibles, find_in_coverage.find_know_missing
>>
>> The problem is that this method chain uses AND to concatenate WHERE
>> clauses. I need this clauses to be concatenated using OR instead.
>>
>> How can I do that?
>>
>> Thanks in advance,
>> Gustavo Honorato
>>
>> --
>> 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@googlegroups.com.
>> To unsubscribe from this group, send email to
>> rubyonrails-talk+unsubscr...@googlegroups.com.
>> For more options, visit this group at
>> http://groups.google.com/group/rubyonrails-talk?hl=en.
>>
>
>
>
> --
> - Aziz M. Bookwala
>
> Website <http://azizmb.in/> | Twitter <https://twitter.com/azizbookwala>
>  | Github <http://github.com/azizmb>
>
>


-- 
- Aziz M. Bookwala

Website <http://azizmb.in/> | Twitter <https://twitter.com/azizbookwala> |
Github <http://github.com/azizmb>

-- 
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@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to