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
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
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