module MR::ReadModel::SetQuerying::ClassMethods

Public Instance Methods

except(&block) click to toggle source
# File lib/mr/read_model/set_querying.rb, line 44
def except(&block)
  add_set_expression(:except, &block)
rescue ArgumentError => exception
  raise ArgumentError, exception.message, caller
end
except_all(&block) click to toggle source
# File lib/mr/read_model/set_querying.rb, line 50
def except_all(&block)
  add_set_expression(:except_all, &block)
rescue ArgumentError => exception
  raise ArgumentError, exception.message, caller
end
intersect(&block) click to toggle source
# File lib/mr/read_model/set_querying.rb, line 32
def intersect(&block)
  add_set_expression(:intersect, &block)
rescue ArgumentError => exception
  raise ArgumentError, exception.message, caller
end
intersect_all(&block) click to toggle source
# File lib/mr/read_model/set_querying.rb, line 38
def intersect_all(&block)
  add_set_expression(:intersect_all, &block)
rescue ArgumentError => exception
  raise ArgumentError, exception.message, caller
end
relation() click to toggle source
# File lib/mr/read_model/set_querying.rb, line 16
def relation
  @relation ||= Relation.new
end
union(&block) click to toggle source
# File lib/mr/read_model/set_querying.rb, line 20
def union(&block)
  add_set_expression(:union, &block)
rescue ArgumentError => exception
  raise ArgumentError, exception.message, caller
end
union_all(&block) click to toggle source
# File lib/mr/read_model/set_querying.rb, line 26
def union_all(&block)
  add_set_expression(:union_all, &block)
rescue ArgumentError => exception
  raise ArgumentError, exception.message, caller
end

Private Instance Methods

add_set_expression(type, &block) click to toggle source
# File lib/mr/read_model/set_querying.rb, line 58
def add_set_expression(type, &block)
  SetExpression.new(type, &block).tap do |expression|
    relation.set_expressions << expression
  end
end