Sha256: afc3ba29ffb4ed5168c4c91f4931dd79d4c7404767b53ee553b57bcec1b40892
Contents?: true
Size: 804 Bytes
Versions: 7
Compression:
Stored size: 804 Bytes
Contents
# frozen_string_literal: true require 'ostruct' module Quby module Answers module Repos class MemoryRepo < Base class Record < OpenStruct end private def all_records(questionnaire_key) storage.values.select { |record| record.questionnaire_key == questionnaire_key } end def find_record(id) storage[id] end def build_record Record.new(_id: SecureRandom.uuid) end def store_record(record) storage[record[:_id]] = record record.created_at = Time.zone.now end def storage @storage ||= {} end def entity(record) entity_class.new(**record.to_h).tap(&:enhance_by_dsl) end end end end end
Version data entries
7 entries across 7 versions & 1 rubygems