Class: Nuva::Queries::DiseasesByVaccineQuery
- Defined in:
- lib/nuva/queries.rb
Instance Method Summary collapse
- #call(vaccine) ⇒ Object
-
#initialize(repositories) ⇒ DiseasesByVaccineQuery
constructor
A new instance of DiseasesByVaccineQuery.
Methods inherited from Query
Constructor Details
#initialize(repositories) ⇒ DiseasesByVaccineQuery
Returns a new instance of DiseasesByVaccineQuery.
92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
# File 'lib/nuva/queries.rb', line 92 def initialize(repositories) hash = Hash.new { |h, k| h[k] = [] } @diseases_by_vaccine_id = repositories[:valences] .all .reduce(hash) do |acc, valence| valence.vaccine_ids.each do |vaccine_id| valence.disease_ids.each do |disease_id| acc[vaccine_id] << repositories[:diseases].find(disease_id) end end acc end end |
Instance Method Details
#call(vaccine) ⇒ Object
107 108 109 |
# File 'lib/nuva/queries.rb', line 107 def call(vaccine) @diseases_by_vaccine_id[vaccine.id].uniq(&:id) end |