class Quby::Questionnaires::Repos::MemoryRepo
Attributes
records[R]
Public Class Methods
new(definitions = {})
click to toggle source
# File lib/quby/questionnaires/repos/memory_repo.rb, line 12 def initialize(definitions = {}) @records = definitions.map do |key, definition| [key, record_for_definition(definition)] end.to_h end
Public Instance Methods
exists?(key)
click to toggle source
# File lib/quby/questionnaires/repos/memory_repo.rb, line 28 def exists?(key) records.key?(key) end
find(key)
click to toggle source
# File lib/quby/questionnaires/repos/memory_repo.rb, line 22 def find(key) fail(QuestionnaireNotFound, key) unless exists?(key) record = records.fetch(key) entity(key, record.fetch(:definition), record.fetch(:last_update), "memoryrepo #{key}") end
keys()
click to toggle source
# File lib/quby/questionnaires/repos/memory_repo.rb, line 18 def keys records.keys end
timestamp(key)
click to toggle source
# File lib/quby/questionnaires/repos/memory_repo.rb, line 32 def timestamp(key) fail(QuestionnaireNotFound, key) unless exists?(key) records.fetch(key).fetch(:last_update) end
Private Instance Methods
record_for_definition(definition)
click to toggle source
# File lib/quby/questionnaires/repos/memory_repo.rb, line 43 def record_for_definition(definition) {definition: definition, last_update: Time.now} end
store!(key, definition)
click to toggle source
# File lib/quby/questionnaires/repos/memory_repo.rb, line 39 def store!(key, definition) records[key] = record_for_definition(definition) end