class Locomotive::Steam::MemoryAdapter

Public Instance Methods

all(mapper, scope) click to toggle source
# File lib/locomotive/steam/adapters/memory.rb, line 18
def all(mapper, scope)
  memoized_dataset(mapper, scope)
end
base_url(mapper, scope, entity = nil) click to toggle source
# File lib/locomotive/steam/adapters/memory.rb, line 30
def base_url(mapper, scope, entity = nil)
  ''
end
find(mapper, scope, id) click to toggle source
# File lib/locomotive/steam/adapters/memory.rb, line 26
def find(mapper, scope, id)
  _query(mapper, scope) { where(_id: id) }.first
end
query(mapper, scope, &block) click to toggle source
# File lib/locomotive/steam/adapters/memory.rb, line 22
def query(mapper, scope, &block)
  _query(mapper, scope, &block)
end

Private Instance Methods

_query(mapper, scope, &block) click to toggle source
# File lib/locomotive/steam/adapters/memory.rb, line 36
def _query(mapper, scope, &block)
  Locomotive::Steam::Adapters::Memory::Query.new(all(mapper, scope), scope.locale, &block)
end
dataset(mapper, scope) click to toggle source
# File lib/locomotive/steam/adapters/memory.rb, line 45
def dataset(mapper, scope)
  Locomotive::Steam::Adapters::Memory::Dataset.new(mapper.name).tap do |dataset|
    collection.each do |attributes|
      # Note: very important to not manipulate the original attributes
      # since the attributes might be modified further by the to_entity method
      entity = mapper.to_entity(attributes.dup)
      dataset.insert(entity)
    end
  end
end
memoized_dataset(mapper, scope) click to toggle source
# File lib/locomotive/steam/adapters/memory.rb, line 40
def memoized_dataset(mapper, scope)
  return @dataset if @dataset
  @dataset = dataset(mapper, scope)
end