diff options
| author | Alban Peignier | 2017-12-17 15:31:47 +0100 |
|---|---|---|
| committer | Alban Peignier | 2018-01-05 10:23:29 +0100 |
| commit | f90488de1f657abf24026231485c87d3e42ee11d (patch) | |
| tree | 5ee9ebe90dbd709dc2fb89aa38559b123453ccf0 /app/models | |
| parent | e7e27a0d80938220664f7cae60d2e6452b74ec69 (diff) | |
| download | chouette-core-f90488de1f657abf24026231485c87d3e42ee11d.tar.bz2 | |
Move (clean) period split logic into Range#remove. Refs #5299
Diffstat (limited to 'app/models')
| -rw-r--r-- | app/models/merge.rb | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/app/models/merge.rb b/app/models/merge.rb index 0733ae8bf..7c5a5d68c 100644 --- a/app/models/merge.rb +++ b/app/models/merge.rb @@ -118,26 +118,17 @@ class Merge < ActiveRecord::Base line_metadatas.each do |m| m.periodes = m.periodes.map do |existing_period| - if period.begin <= existing_period.begin and - existing_period.end <= period.end - # between - nil - elsif existing_period.include? period.begin - # before - Range.new existing_period.begin, period.begin - 1 - elsif existing_period.include? period.end - # after - Range.new period.end + 1, existing_period.end - end - end.compact + existing_period.remove period + end.flatten end attributes = { line_ids: [line_id], periodes: [period], referential_source_id: referential.id, - created_at: metadata.created_at + created_at: metadata.created_at # TODO check required dates } + # line_metadatas should not contain conflicted metadatas merge_metadatas << ReferentialMetadata.new(attributes) end |
