class Babik::QuerySet::Where

Where conditions

Attributes

exclusion_filters[R]
inclusion_filters[R]
model[R]

Public Class Methods

new(model) click to toggle source
# File lib/babik/queryset/components/where.rb, line 12
def initialize(model)
  @model = model
  @inclusion_filters = []
  @exclusion_filters = []
end

Public Instance Methods

add_exclusion_filter(filter) click to toggle source
# File lib/babik/queryset/components/where.rb, line 26
def add_exclusion_filter(filter)
  @exclusion_filters << Babik::QuerySet::Condition.factory(@model, filter)
end
add_inclusion_filter(filter) click to toggle source
# File lib/babik/queryset/components/where.rb, line 30
def add_inclusion_filter(filter)
  @inclusion_filters << Babik::QuerySet::Condition.factory(@model, filter)
end
exclusion_filters?() click to toggle source
# File lib/babik/queryset/components/where.rb, line 18
def exclusion_filters?
  @exclusion_filters.length.positive?
end
inclusion_filters?() click to toggle source
# File lib/babik/queryset/components/where.rb, line 22
def inclusion_filters?
  @inclusion_filters.length.positive?
end
left_joins_by_alias() click to toggle source
# File lib/babik/queryset/components/where.rb, line 34
def left_joins_by_alias
  left_joins_by_alias = {}
  [@inclusion_filters, @exclusion_filters].flatten.each do |filter|
    left_joins_by_alias.merge!(filter.left_joins_by_alias)
  end
  left_joins_by_alias
end