aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert2017-05-02 21:44:59 +0200
committerRobert2017-05-02 21:44:59 +0200
commit1a8961555e8f674eb989f7f4af4c4a22b25856b0 (patch)
tree0f2c09c36b1c228cc254d023575c3b5baff74372
parent7ce3dfa2770b2022f909164a0f24f8f38d8d8fb2 (diff)
downloadchouette-core-1a8961555e8f674eb989f7f4af4c4a22b25856b0.tar.bz2
duplicate code from models/calendar removed; coherent naming in Range#intersection
-rw-r--r--app/models/calendar.rb10
-rw-r--r--lib/range_ext.rb4
-rw-r--r--spec/lib/range_ext_spec.rb2
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