class AgnosticBackend::Queryable::CriteriaBuilder

Attributes

context[R]

Public Class Methods

new(query_builder) click to toggle source
# File lib/agnostic_backend/queryable/criteria_builder.rb, line 7
def initialize(query_builder)
  @context = query_builder
end

Public Instance Methods

all(*criteria)
Alias for: and
and(*criteria) click to toggle source
# File lib/agnostic_backend/queryable/criteria_builder.rb, line 79
def and(*criteria)
  Operations::And.new(operands: criteria, context: context)
end
Also aliased as: all
any(*criteria)
Alias for: or
asc(attribute) click to toggle source
# File lib/agnostic_backend/queryable/criteria_builder.rb, line 67
def asc(attribute)
  Operations::Ascending.new(attribute: attribute, context: context)
end
contains(attribute, value) click to toggle source
# File lib/agnostic_backend/queryable/criteria_builder.rb, line 51
def contains(attribute, value)
  Criteria::Contains.new(attribute: attribute, value: value, context: context)
end
desc(attribute) click to toggle source
# File lib/agnostic_backend/queryable/criteria_builder.rb, line 71
def desc(attribute)
  Operations::Descending.new(attribute: attribute, context: context)
end
eq(attribute, value) click to toggle source
# File lib/agnostic_backend/queryable/criteria_builder.rb, line 11
def eq(attribute, value)
  Criteria::Equal.new(attribute: attribute, value: value, context: context)
end
free_text(attribute, value) click to toggle source
# File lib/agnostic_backend/queryable/criteria_builder.rb, line 59
def free_text(attribute, value)
  Criteria::FreeText.new(attribute: attribute, value: value, context: context)
end
fuzzy(attribute, value, fuzziness) click to toggle source
# File lib/agnostic_backend/queryable/criteria_builder.rb, line 63
def fuzzy(attribute, value, fuzziness)
  Criteria::Fuzzy.new(attribute: attribute, value: value, context: context, fuzziness: fuzziness)
end
ge(attribute, value) click to toggle source
# File lib/agnostic_backend/queryable/criteria_builder.rb, line 27
def ge(attribute, value)
  Criteria::GreaterEqual.new(attribute: attribute, value: value, context: context)
end
ge_and_le(attribute, left_limit, right_limit) click to toggle source
# File lib/agnostic_backend/queryable/criteria_builder.rb, line 47
def ge_and_le(attribute, left_limit, right_limit)
  Criteria::GreaterEqualAndLessEqual.new(attribute: attribute, left_value: left_limit, right_value: right_limit, context: context)
end
ge_and_lt(attribute, left_limit, right_limit) click to toggle source
# File lib/agnostic_backend/queryable/criteria_builder.rb, line 43
def ge_and_lt(attribute, left_limit, right_limit)
  Criteria::GreaterEqualAndLess.new(attribute: attribute, left_value: left_limit, right_value: right_limit, context: context)
end
gt(attribute, value) click to toggle source
# File lib/agnostic_backend/queryable/criteria_builder.rb, line 19
def gt(attribute, value)
  Criteria::Greater.new(attribute: attribute, value: value, context: context)
end
gt_and_le(attribute, left_limit, right_limit) click to toggle source
# File lib/agnostic_backend/queryable/criteria_builder.rb, line 39
def gt_and_le(attribute, left_limit, right_limit)
  Criteria::GreaterAndLessEqual.new(attribute: attribute, left_value: left_limit, right_value: right_limit, context: context)
end
gt_and_lt(attribute, left_limit, right_limit) click to toggle source
# File lib/agnostic_backend/queryable/criteria_builder.rb, line 35
def gt_and_lt(attribute, left_limit, right_limit)
  Criteria::GreaterAndLess.new(attribute: attribute, left_value: left_limit, right_value: right_limit, context: context)
end
le(attribute, value) click to toggle source
# File lib/agnostic_backend/queryable/criteria_builder.rb, line 31
def le(attribute, value)
  Criteria::LessEqual.new(attribute: attribute, value: value, context: context)
end
lt(attribute, value) click to toggle source
# File lib/agnostic_backend/queryable/criteria_builder.rb, line 23
def lt(attribute, value)
  Criteria::Less.new(attribute: attribute, value: value, context: context)
end
neq(attribute, value) click to toggle source
# File lib/agnostic_backend/queryable/criteria_builder.rb, line 15
def neq(attribute, value)
  Criteria::NotEqual.new(attribute: attribute, value: value, context: context)
end
not(criterion) click to toggle source
# File lib/agnostic_backend/queryable/criteria_builder.rb, line 75
def not(criterion)
  Operations::Not.new(operand: criterion, context: context)
end
or(*criteria) click to toggle source
# File lib/agnostic_backend/queryable/criteria_builder.rb, line 83
def or(*criteria)
  Operations::Or.new(operands: criteria, context: context)
end
Also aliased as: any
starts(attribute, value) click to toggle source
# File lib/agnostic_backend/queryable/criteria_builder.rb, line 55
def starts(attribute, value)
  Criteria::Starts.new(attribute: attribute, value: value, context: context)
end