Class: Appfuel::Memory::Repository
- Inherits:
-
Repository::Base
- Object
- Repository::Base
- Appfuel::Memory::Repository
- Defined in:
- lib/appfuel/storage/memory/repository.rb
Instance Attribute Summary collapse
-
#items ⇒ Object
readonly
Returns the value of attribute items.
-
#sequence ⇒ Object
readonly
Returns the value of attribute sequence.
Class Method Summary collapse
Instance Method Summary collapse
- #build(name:, storage:, **inputs) ⇒ Object
- #create(entity) ⇒ Object
-
#initialize ⇒ Repository
constructor
A new instance of Repository.
- #sequence_id ⇒ Object
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
#initialize ⇒ Repository
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
#items ⇒ Object (readonly)
Returns the value of attribute items.
15 16 17 |
# File 'lib/appfuel/storage/memory/repository.rb', line 15 def items @items end |
#sequence ⇒ Object (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_type ⇒ Object
6 7 8 |
# File 'lib/appfuel/storage/memory/repository.rb', line 6 def container_class_type "#{super}.memory" 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_id ⇒ Object
36 37 38 |
# File 'lib/appfuel/storage/memory/repository.rb', line 36 def sequence_id @sequence + 1 end |