class Quby::Answers::Repos::MemoryRepo

Public Instance Methods

find_completed_after(time, answer_ids) click to toggle source
# File lib/quby/answers/repos/memory_repo.rb, line 12
def find_completed_after(time, answer_ids)
  records = storage.values.select do |record|
    answer_ids.include?(record._id) && record.completed_at.present? && record.completed_at > time
  end
  records.map { |record| entity(record) }
end

Private Instance Methods

all_records(questionnaire_key) click to toggle source
# File lib/quby/answers/repos/memory_repo.rb, line 21
def all_records(questionnaire_key)
  storage.values.select { |record| record.questionnaire_key == questionnaire_key }
end
build_record() click to toggle source
# File lib/quby/answers/repos/memory_repo.rb, line 29
def build_record
  Record.new(_id: SecureRandom.uuid)
end
entity(record) click to toggle source
# File lib/quby/answers/repos/memory_repo.rb, line 42
def entity(record)
  entity_class.new(**record.to_h).tap(&:enhance_by_dsl)
end
find_record(id) click to toggle source
# File lib/quby/answers/repos/memory_repo.rb, line 25
def find_record(id)
  storage[id]
end
storage() click to toggle source
# File lib/quby/answers/repos/memory_repo.rb, line 38
def storage
  @storage ||= {}
end
store_record(record) click to toggle source
# File lib/quby/answers/repos/memory_repo.rb, line 33
def store_record(record)
  storage[record[:_id]] = record
  record.created_at = Time.zone.now
end