Sha256: dbe55fd6b5e382428e1e33e54509b4d55fb8133c4c8e91a99b42281d9ab872c4
Contents?: true
Size: 806 Bytes
Versions: 1
Compression:
Stored size: 806 Bytes
Contents
# frozen_string_literal: true module Nuva class Repository attr_reader :data def initialize(data) @data = index_array_by_id(data) @data_by_code = data.each_with_object({}) { |item, acc| acc[item.code] = item } end def find(id_or_code) @data_by_code[id_or_code] || @data[id_or_code] end def all @data.values end def by_ids(ids) ids.map { |x| find x }.compact end def inspect "#<#{self.class.name} count=#{data.count}>" end private def index_array_by_id(array) array.each_with_object({}) { |item, acc| acc[item.id] = item } end end end require_relative "repositories/disease_repository" require_relative "repositories/vaccine_repository" require_relative "repositories/valence_repository"
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
nuva-0.2.1 | lib/nuva/repository.rb |