diff options
| author | Robert | 2017-05-02 21:44:59 +0200 |
|---|---|---|
| committer | jpl | 2017-05-04 10:11:35 +0200 |
| commit | 766c70fb8d21c9a22e1d08136a623b59a1aae1df (patch) | |
| tree | f5c74bfab5cd2c8a15945abc63875e695fc77a84 | |
| parent | 26d7f4eda6b1e9bdf587a95c9a1d088192689aef (diff) | |
| download | chouette-core-766c70fb8d21c9a22e1d08136a623b59a1aae1df.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 |
