class Terrestrial::Adapters::MemoryAdapter::Query

Attributes

criteria[R]
order_columns[R]

Public Class Methods

new(criteria: {}, order: [], reverse: false, &block) click to toggle source
# File lib/terrestrial/adapters/memory_adapter.rb, line 77
def initialize(criteria: {}, order: [], reverse: false, &block)
  if block
    raise NotImplementedError.new("Block filtering not implemented")
  end

  @criteria = criteria
  @order_columns = order
  @reverse_order = reverse
end

Public Instance Methods

order(columns) click to toggle source
# File lib/terrestrial/adapters/memory_adapter.rb, line 98
def order(columns)
  self.class.new(
    criteria: criteria,
    order: columns,
  )
end
reverse() click to toggle source
# File lib/terrestrial/adapters/memory_adapter.rb, line 105
def reverse
  self.class.new(
    criteria: criteria,
    order: order_columns,
    reverse: true,
  )
end
reverse_order?() click to toggle source
# File lib/terrestrial/adapters/memory_adapter.rb, line 113
def reverse_order?
  !!@reverse_order
end
where(new_criteria, &block) click to toggle source
# File lib/terrestrial/adapters/memory_adapter.rb, line 89
def where(new_criteria, &block)
  self.class.new(
    criteria: criteria.merge(new_criteria),
    order: order,
    reverse: reverse,
    &block
  )
end