Module Sequel::Plugins::SubsetConditions
In: lib/sequel/plugins/subset_conditions.rb

The subset_conditions plugin creates an additional *_conditions method for every subset created, which returns the filter conditions the subset uses. This can be useful if you want to use the conditions for a separate filter or combine them with OR.

Usage:

  # Add subset_conditions in the Album class
  Album.plugin :subset_conditions

  # This will now create a published_conditions method
  Album.dataset_module do
    subset :published, published: true
  end

  Album.where(Album.published_conditions).sql
  # SELECT * FROM albums WHERE (published IS TRUE)

  Album.exclude(Album.published_conditions).sql
  # SELECT * FROM albums WHERE (published IS NOT TRUE)

  Album.where(Album.published_conditions | {ready: true}).sql
  # SELECT * FROM albums WHERE ((published IS TRUE) OR (ready IS TRUE))

Methods

apply  

Included Modules

DatasetModuleMethods

Classes and Modules

Module Sequel::Plugins::SubsetConditions::DatasetModuleMethods

Public Class methods

[Source]

    # File lib/sequel/plugins/subset_conditions.rb, line 29
29:       def self.apply(mod, &block)
30:         mod.instance_exec do
31:           @dataset_module_class = Class.new(@dataset_module_class) do
32:             include DatasetModuleMethods
33:           end
34:         end
35:       end

[Validate]