diff options
| author | Robert | 2017-05-02 21:44:59 +0200 |
|---|---|---|
| committer | Robert | 2017-05-02 21:44:59 +0200 |
| commit | 1a8961555e8f674eb989f7f4af4c4a22b25856b0 (patch) | |
| tree | 0f2c09c36b1c228cc254d023575c3b5baff74372 | |
| parent | 7ce3dfa2770b2022f909164a0f24f8f38d8d8fb2 (diff) | |
| download | chouette-core-1a8961555e8f674eb989f7f4af4c4a22b25856b0.tar.bz2 | |
duplicate code from models/calendar removed; coherent naming in Range#intersection
| -rw-r--r-- | app/models/calendar.rb | 10 | ||||
| -rw-r--r-- | lib/range_ext.rb | 4 | ||||
| -rw-r--r-- | spec/lib/range_ext_spec.rb | 2 |
3 files changed, 4 insertions, 12 deletions
diff --git a/app/models/calendar.rb b/app/models/calendar.rb index 641f97302..4890540b9 100644 --- a/app/models/calendar.rb +++ b/app/models/calendar.rb @@ -245,14 +245,4 @@ class Calendar < ActiveRecord::Base private :clear_date_values -### - -end - -class Range - def intersection(other) - return nil if (self.max < other.begin or other.max < self.begin) - [self.begin, other.begin].max..[self.max, other.max].min - end - alias_method :&, :intersection end diff --git a/lib/range_ext.rb b/lib/range_ext.rb index 5afb44dee..729cd1092 100644 --- a/lib/range_ext.rb +++ b/lib/range_ext.rb @@ -1,7 +1,7 @@ class Range def intersection(other) - return nil if (self.max < other.begin or other.max < self.begin) - [self.begin, other.begin].max..[self.max, other.max].min + return nil if (self.max < other.min or other.max < self.min) + [self.min, other.min].max..[self.max, other.max].min end alias_method :&, :intersection end diff --git a/spec/lib/range_ext_spec.rb b/spec/lib/range_ext_spec.rb index 0e2365b5e..f93a8de00 100644 --- a/spec/lib/range_ext_spec.rb +++ b/spec/lib/range_ext_spec.rb @@ -1,6 +1,8 @@ RSpec.describe Range do context "intersection" do it "is nil (sic) for two distinct ranges" do + require 'pry' + binding.pry expect( (1..2).intersection(3..4) ).to be_nil end |
