Class: Appfuel::Memory::Repository

Inherits:
Repository::Base show all
Defined in:
lib/appfuel/storage/memory/repository.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Repository::Base

#apply_query_conditions, #build_criteria, #build_default_entity, #build_domains, cache, #create_settings, #criteria?, #execute_query_method, #exists?, #find_entity_builder, #generate_uuid, inherited, #mapper, #query, #query_setup, #timestamp, #to_entity, #to_storage, #url_token

Methods included from Application::AppContainer

#app_container, #feature_name, included, #qualify_container_key

Constructor Details

#initializeRepository

Returns a new instance of Repository.



16
17
18
19
# File 'lib/appfuel/storage/memory/repository.rb', line 16

def initialize
  @items    = {}
  @sequence = 0
end

Instance Attribute Details

#itemsObject (readonly)

Returns the value of attribute items.



15
16
17
# File 'lib/appfuel/storage/memory/repository.rb', line 15

def items
  @items
end

#sequenceObject (readonly)

Returns the value of attribute sequence.



15
16
17
# File 'lib/appfuel/storage/memory/repository.rb', line 15

def sequence
  @sequence
end

Class Method Details

.container_class_typeObject



6
7
8
# File 'lib/appfuel/storage/memory/repository.rb', line 6

def container_class_type
  "#{super}.memory"
end

.create_mapper(maps = nil) ⇒ Object



10
11
12
# File 'lib/appfuel/storage/memory/repository.rb', line 10

def create_mapper(maps = nil)
  Mapper.new(maps)
end

Instance Method Details

#build(name:, storage:, **inputs) ⇒ Object



32
33
34
# File 'lib/appfuel/storage/memory/repository.rb', line 32

def build(name:, storage:, **inputs)
  super(type: :memory, name: name, storage: storage,  **inputs)
end

#create(entity) ⇒ Object



22
23
24
25
26
27
28
29
30
# File 'lib/appfuel/storage/memory/repository.rb', line 22

def create(entity)
  id = sequence_id
  entity.id = id
  data = to_storage(entity)
  items[id] = data


  build(name: entity.domain_name, storage: data)
end

#sequence_idObject



36
37
38
# File 'lib/appfuel/storage/memory/repository.rb', line 36

def sequence_id
  @sequence + 1
end