class Datamappify::Data::Criteria::ActiveRecord::FindMultiple

Private Instance Methods

records() click to toggle source

@return [Array]

# File lib/datamappify/data/criteria/active_record/find_multiple.rb, line 11
def records
  source_class.joins(@secondaries.map(&:source_key)).where(
    structured_criteria(primaries, secondaries)
  )
end
structured_criteria(primaries, secondaries) click to toggle source

@param primaries [Array<Attribute>]

@param secondaries [Array<Attribute>]

@return [Hash]

# File lib/datamappify/data/criteria/active_record/find_multiple.rb, line 22
def structured_criteria(primaries, secondaries)
  _criteria = {}

  primaries.each do |primary|
    _criteria[primary.source_attribute_key] = primary.value
  end

  secondaries.each do |secondary|
    _criteria[secondary.source_table] ||= {}
    _criteria[secondary.source_table][secondary.source_attribute_key] = secondary.value
  end

  _criteria
end