Class: Datamappify::Data::Criteria::Relational::FindMultiple

Inherits:
Common
  • Object
show all
Defined in:
lib/datamappify/data/criteria/relational/find_multiple.rb

Instance Attribute Summary

Attributes inherited from Common

#attributes, #criteria, #entity, #source_class

Instance Method Summary collapse

Methods inherited from Common

#attributes_and_values, #ignore?, #ignore_attribute?, #initialize, #key_name, #key_value, #new_record?, #perform_with_callbacks, #primary_record?, #store_attribute_value

Constructor Details

This class inherits a constructor from Datamappify::Data::Criteria::Common

Instance Method Details

#performObject



8
9
10
11
12
13
14
15
# File 'lib/datamappify/data/criteria/relational/find_multiple.rb', line 8

def perform
  records = source_class.where(criteria)
  records.map do |record|
    entity = entity_class.new
    update_entity(entity, record)
    entity
  end
end

#update_entity(entity, record) ⇒ Object (private)



19
20
21
22
23
# File 'lib/datamappify/data/criteria/relational/find_multiple.rb', line 19

def update_entity(entity, record)
  attributes.each do |attribute|
    entity.send("#{attribute.name}=", record.send(attribute.source_attribute_name))
  end
end