Class: Verdict::Storage::MemoryStorage
- Inherits:
-
Object
- Object
- Verdict::Storage::MemoryStorage
- Defined in:
- lib/verdict/storage/memory_storage.rb
Instance Attribute Summary collapse
-
#assignments ⇒ Object
readonly
Returns the value of attribute assignments.
-
#start_timestamps ⇒ Object
readonly
Returns the value of attribute start_timestamps.
Instance Method Summary collapse
- #clear_experiment(experiment) ⇒ Object
-
#initialize ⇒ MemoryStorage
constructor
A new instance of MemoryStorage.
- #remove_assignment(experiment, subject_identifier) ⇒ Object
- #retrieve_assignment(experiment, subject_identifier) ⇒ Object
- #retrieve_start_timestamp(experiment) ⇒ Object
- #store_assignment(assignment) ⇒ Object
- #store_start_timestamp(experiment, timestamp) ⇒ Object
Constructor Details
#initialize ⇒ MemoryStorage
Returns a new instance of MemoryStorage.
6 7 8 9 |
# File 'lib/verdict/storage/memory_storage.rb', line 6 def initialize @assignments = {} @start_timestamps = {} end |
Instance Attribute Details
#assignments ⇒ Object (readonly)
Returns the value of attribute assignments.
4 5 6 |
# File 'lib/verdict/storage/memory_storage.rb', line 4 def assignments @assignments end |
#start_timestamps ⇒ Object (readonly)
Returns the value of attribute start_timestamps.
4 5 6 |
# File 'lib/verdict/storage/memory_storage.rb', line 4 def @start_timestamps end |
Instance Method Details
#clear_experiment(experiment) ⇒ Object
27 28 29 |
# File 'lib/verdict/storage/memory_storage.rb', line 27 def clear_experiment(experiment) @assignments.delete(experiment.handle) end |
#remove_assignment(experiment, subject_identifier) ⇒ Object
22 23 24 25 |
# File 'lib/verdict/storage/memory_storage.rb', line 22 def remove_assignment(experiment, subject_identifier) @assignments[experiment.handle] ||= {} @assignments[experiment.handle].delete(subject_identifier) end |
#retrieve_assignment(experiment, subject_identifier) ⇒ Object
17 18 19 20 |
# File 'lib/verdict/storage/memory_storage.rb', line 17 def retrieve_assignment(experiment, subject_identifier) experiment_store = @assignments[experiment.handle] || {} experiment_store[subject_identifier] end |
#retrieve_start_timestamp(experiment) ⇒ Object
31 32 33 |
# File 'lib/verdict/storage/memory_storage.rb', line 31 def (experiment) @start_timestamps[experiment.handle] end |
#store_assignment(assignment) ⇒ Object
11 12 13 14 15 |
# File 'lib/verdict/storage/memory_storage.rb', line 11 def store_assignment(assignment) @assignments[assignment.experiment.handle] ||= {} @assignments[assignment.experiment.handle][assignment.subject_identifier] = assignment.returning true end |
#store_start_timestamp(experiment, timestamp) ⇒ Object
35 36 37 |
# File 'lib/verdict/storage/memory_storage.rb', line 35 def (experiment, ) @start_timestamps[experiment.handle] = end |