some more fixes to import projects

This commit is contained in:
James Lopez
2016-04-12 17:10:30 +02:00
parent c94c0dc0c7
commit 0d8a97dcef
3 changed files with 445 additions and 5 deletions
@@ -58,12 +58,21 @@ module Projects
relation.values.flatten.each do |sub_relation|
relation_hash = relation_item[sub_relation.to_s]
next if relation_hash.blank?
sub_relation_object = relation_from_factory(sub_relation, relation_hash)
relation_item[sub_relation.to_s] = sub_relation_object
process_sub_relation(relation_hash, relation_item, sub_relation)
end
end
end
def process_sub_relation(relation_hash, relation_item, sub_relation)
sub_relation_object = nil
if relation_hash.is_a?(Array)
sub_relation_object = create_relation(sub_relation, relation_hash)
else
sub_relation_object = relation_from_factory(sub_relation, relation_hash)
end
relation_item[sub_relation.to_s] = sub_relation_object
end
def create_relation(relation, relation_hash_list)
[relation_hash_list].flatten.map do |relation_hash|
relation_from_factory(relation, relation_hash)
@@ -48,8 +48,8 @@ module Projects
def parse_relation(relation_hash, relation_sym)
klass = relation_class(relation_sym)
relation_hash.delete('id') #screw IDs for now
relation_hash.delete('project_id') unless klass.column_names.include?(:project_id)
relation_hash.delete('id')
relation_hash.delete('project_id') unless klass.column_names.include?('project_id')
klass
end
end
File diff suppressed because one or more lines are too long