class Cuprum::Collections::Basic::QueryBuilder
Concrete implementation of QueryBuilder
for a basic query.
Attributes
filters[R]
Public Class Methods
new(base_query)
click to toggle source
@param base_query [Cuprum::Collections::Basic::Query] The original
query.
Calls superclass method
Cuprum::Collections::QueryBuilder::new
# File lib/cuprum/collections/basic/query_builder.rb, line 11 def initialize(base_query) super @filters = base_query.send(:filters) end
Private Instance Methods
build_filters(criteria)
click to toggle source
# File lib/cuprum/collections/basic/query_builder.rb, line 21 def build_filters(criteria) criteria.map do |(attribute, operator, value)| send(operator, attribute, value) end end
build_query(criteria)
click to toggle source
Calls superclass method
Cuprum::Collections::QueryBuilder#build_query
# File lib/cuprum/collections/basic/query_builder.rb, line 27 def build_query(criteria) super.send(:with_filters, build_filters(criteria)) end
equal(attribute, value)
click to toggle source
# File lib/cuprum/collections/basic/query_builder.rb, line 31 def equal(attribute, value) ->(actual) { actual[attribute.to_s] == value } end
Also aliased as: eq
greater_than(attribute, value)
click to toggle source
# File lib/cuprum/collections/basic/query_builder.rb, line 36 def greater_than(attribute, value) ->(actual) { actual[attribute.to_s] > value } end
Also aliased as: gt
greater_than_or_equal_to(attribute, value)
click to toggle source
# File lib/cuprum/collections/basic/query_builder.rb, line 41 def greater_than_or_equal_to(attribute, value) ->(actual) { actual[attribute.to_s] >= value } end
Also aliased as: gte
less_than(attribute, value)
click to toggle source
# File lib/cuprum/collections/basic/query_builder.rb, line 46 def less_than(attribute, value) ->(actual) { actual[attribute.to_s] < value } end
Also aliased as: lt
less_than_or_equal_to(attribute, value)
click to toggle source
# File lib/cuprum/collections/basic/query_builder.rb, line 51 def less_than_or_equal_to(attribute, value) ->(actual) { actual[attribute.to_s] <= value } end
Also aliased as: lte
not_equal(attribute, value)
click to toggle source
# File lib/cuprum/collections/basic/query_builder.rb, line 56 def not_equal(attribute, value) ->(actual) { actual[attribute.to_s] != value } end
Also aliased as: ne
not_one_of(attribute, value)
click to toggle source
# File lib/cuprum/collections/basic/query_builder.rb, line 61 def not_one_of(attribute, value) ->(actual) { !value.include?(actual[attribute.to_s]) } end
one_of(attribute, value)
click to toggle source
# File lib/cuprum/collections/basic/query_builder.rb, line 65 def one_of(attribute, value) ->(actual) { value.include?(actual[attribute.to_s]) } end