diff options
| -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 |
