app/models/maestrano/connector/rails/concerns/entity.rb in maestrano-connector-rails-0.2.12 vs app/models/maestrano/connector/rails/concerns/entity.rb in maestrano-connector-rails-0.2.13
- old
+ new
@@ -181,14 +181,14 @@
# General methods
# ----------------------------------------------
# * Discards entities that do not need to be pushed because they have not been updated since their last push
# * Discards entities from one of the two source in case of conflict
# * Maps not discarded entities and associates them with their idmap, or create one if there isn't any
+ # * Return a hash {connec_entities: [], external_entities: []}
def consolidate_and_map_data(connec_entities, external_entities, organization, opts={})
- external_entities.map!{|entity|
+ mapped_external_entities = external_entities.map{|entity|
idmap = Maestrano::Connector::Rails::IdMap.find_by(external_id: self.get_id_from_external_entity_hash(entity), external_entity: self.external_entity_name.downcase, organization_id: organization.id)
-
# No idmap: creating one, nothing else to do
unless idmap
next {entity: self.map_to_connec(entity, organization), idmap: Maestrano::Connector::Rails::IdMap.create(external_id: self.get_id_from_external_entity_hash(entity), external_entity: self.external_entity_name.downcase, organization_id: organization.id, name: self.object_name_from_external_entity_hash(entity))}
end
@@ -220,14 +220,18 @@
end
else
{entity: self.map_to_connec(entity, organization), idmap: idmap}
end
- }.compact!
+ }
+ mapped_external_entities.compact!
- connec_entities.map!{|entity|
+ mapped_connec_entities = connec_entities.map{|entity|
self.map_to_external_with_idmap(entity, organization)
- }.compact!
+ }
+ mapped_connec_entities.compact!
+
+ return {connec_entities: mapped_connec_entities, external_entities: mapped_external_entities}
end
# ----------------------------------------------
# Entity specific methods
\ No newline at end of file