The subset_conditions plugin is a lifesaver, don't know how I overlooked it 
before. Sequel, the gift that keeps giving.

On Friday, 2 November 2018 04:16:31 UTC-10, Jeremy Evans wrote:
>
> On Friday, November 2, 2018 at 4:09:02 AM UTC-7, Janko Marohnić wrote:
>>
>> You can give to the `.where` definitions anything that you would give to 
>> a normal #where dataset method. So you can still build complex conditions, 
>> because you have Sequel's expression API at your disposal:
>>
>> dataset_module do
>>   where :a, Sequel[:a] >= 1
>>   where :b, Sequel[:b] !~ 2
>>   where :c, Sequel[:c].like('3')
>> end
>>
>> or via virtual row blocks:
>>
>> dataset_module do
>>   where(:a) { a >= 1 }
>>   where(:b) { b !~ 2 }
>>   where(:c) { c.like('3') }
>> end
>>
>> In that case the conditions are already expression objects, so you can 
>> just `&` and `|` them directly. This means that in
>>
>> def abnotc
>>   where((Sequel[a_conditions] & b_conditions) | c_conditions)
>> end
>>
>> you can lose the Sequel[]:
>>
>> def abnotc
>>   where((a_conditions & b_conditions) | c_conditions)
>> end
>>
>> Jeremy, maybe a note that expressions and virtual row blocks are 
>> supported could be added to the subset_conditions documentation.
>>
>
> That makes sense to me, could you send in a PR?
>
> We could also consider adding support for exclude so that *_conditions 
> methods are created that return inverted conditions.
>
> Thanks,
> Jeremy
>

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sequel-talk.
For more options, visit https://groups.google.com/d/optout.

Reply via email to