aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/merge.rb
diff options
context:
space:
mode:
authorAlban Peignier2017-12-17 15:31:47 +0100
committerAlban Peignier2018-01-05 10:23:29 +0100
commitf90488de1f657abf24026231485c87d3e42ee11d (patch)
tree5ee9ebe90dbd709dc2fb89aa38559b123453ccf0 /app/models/merge.rb
parente7e27a0d80938220664f7cae60d2e6452b74ec69 (diff)
downloadchouette-core-f90488de1f657abf24026231485c87d3e42ee11d.tar.bz2
Move (clean) period split logic into Range#remove. Refs #5299
Diffstat (limited to 'app/models/merge.rb')
-rw-r--r--app/models/merge.rb17
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