class Rohbau::DefaultMemoryGateway
Public Class Methods
new(memory = Index.new, services = {})
click to toggle source
# File lib/rohbau/default_memory_gateway.rb, line 5 def initialize(memory = Index.new, services = {}) @memory = memory @services = services end
Public Instance Methods
add(entity)
click to toggle source
# File lib/rohbau/default_memory_gateway.rb, line 14 def add(entity) @memory.add entity end
all()
click to toggle source
# File lib/rohbau/default_memory_gateway.rb, line 38 def all @memory.all end
bulk_add(*entities)
click to toggle source
# File lib/rohbau/default_memory_gateway.rb, line 18 def bulk_add(*entities) @memory.bulk_add(*entities) end
bulk_delete(*uids)
click to toggle source
# File lib/rohbau/default_memory_gateway.rb, line 34 def bulk_delete(*uids) @memory.bulk_delete(*uids) end
delete(uid)
click to toggle source
# File lib/rohbau/default_memory_gateway.rb, line 30 def delete(uid) @memory.delete(uid) end
get(uid)
click to toggle source
# File lib/rohbau/default_memory_gateway.rb, line 22 def get(uid) @memory.get(uid) end
memory()
click to toggle source
# File lib/rohbau/default_memory_gateway.rb, line 10 def memory @memory end
size()
click to toggle source
# File lib/rohbau/default_memory_gateway.rb, line 42 def size @memory.size end
update(entity)
click to toggle source
# File lib/rohbau/default_memory_gateway.rb, line 26 def update(entity) @memory.update(entity) end
Protected Instance Methods
gateway_for_entity(entity_name)
click to toggle source
# File lib/rohbau/default_memory_gateway.rb, line 72 def gateway_for_entity(entity_name) service(:"#{entity_name}_gateway") end
map(entity_name, entity)
click to toggle source
# File lib/rohbau/default_memory_gateway.rb, line 56 def map(entity_name, entity) gateway = gateway_for_entity(entity_name) if entity.uid result = gateway.update(entity) else result = gateway.add(entity) end result.uid end
no_service_error(service_name)
click to toggle source
# File lib/rohbau/default_memory_gateway.rb, line 52 def no_service_error(service_name) NotImplementedError.new("#{service_name} service in #{self.class}") end
service(service_name)
click to toggle source
# File lib/rohbau/default_memory_gateway.rb, line 48 def service(service_name) @services[service_name] || raise(no_service_error service_name) end
unmap(entity_name, uid)
click to toggle source
# File lib/rohbau/default_memory_gateway.rb, line 68 def unmap(entity_name, uid) gateway_for_entity(entity_name).get(uid) end