From 9ffaf49426e9bfb5514ba4f10cd255768c1a058c Mon Sep 17 00:00:00 2001 From: Ivan Selivanov Date: Wed, 14 Aug 2019 19:00:52 +0300 Subject: [PATCH 1/6] convert arguments --- lib/tod/shift.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/tod/shift.rb b/lib/tod/shift.rb index 0dfc344..d067acf 100644 --- a/lib/tod/shift.rb +++ b/lib/tod/shift.rb @@ -12,8 +12,8 @@ def initialize(beginning, ending, exclude_end=false) raise ArgumentError, "exclude_end must be true or false" end - @beginning = beginning - @ending = ending + @beginning = beginning.is_a?(TimeOfDay) ? beginning : TimeOfDay(beginning) + @ending = ending.is_a?(TimeOfDay) ? ending : TimeOfDay(ending) @exclude_end = exclude_end normalized_ending = ending.to_i From b9d1945838051031124d5ba42cf58e4fd32b081f Mon Sep 17 00:00:00 2001 From: Ivan Selivanov Date: Wed, 14 Aug 2019 19:07:33 +0300 Subject: [PATCH 2/6] fix class name --- lib/tod/shift.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/tod/shift.rb b/lib/tod/shift.rb index d067acf..86f75d4 100644 --- a/lib/tod/shift.rb +++ b/lib/tod/shift.rb @@ -12,8 +12,8 @@ def initialize(beginning, ending, exclude_end=false) raise ArgumentError, "exclude_end must be true or false" end - @beginning = beginning.is_a?(TimeOfDay) ? beginning : TimeOfDay(beginning) - @ending = ending.is_a?(TimeOfDay) ? ending : TimeOfDay(ending) + @beginning = beginning.is_a?(:Tod::TimeOfDay) ? beginning : :Tod::TimeOfDay(beginning) + @ending = ending.is_a?(:Tod::TimeOfDay) ? ending : :Tod::TimeOfDay(ending) @exclude_end = exclude_end normalized_ending = ending.to_i From 1a3fd9b9858b8802fa7105906a739cea77f7962b Mon Sep 17 00:00:00 2001 From: Ivan Selivanov Date: Wed, 14 Aug 2019 19:10:48 +0300 Subject: [PATCH 3/6] fix class name --- lib/tod/shift.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/tod/shift.rb b/lib/tod/shift.rb index 86f75d4..686598e 100644 --- a/lib/tod/shift.rb +++ b/lib/tod/shift.rb @@ -12,8 +12,8 @@ def initialize(beginning, ending, exclude_end=false) raise ArgumentError, "exclude_end must be true or false" end - @beginning = beginning.is_a?(:Tod::TimeOfDay) ? beginning : :Tod::TimeOfDay(beginning) - @ending = ending.is_a?(:Tod::TimeOfDay) ? ending : :Tod::TimeOfDay(ending) + @beginning = beginning.is_a?(::Tod::TimeOfDay) ? beginning : ::Tod::TimeOfDay(beginning) + @ending = ending.is_a?(::Tod::TimeOfDay) ? ending : ::Tod::TimeOfDay(ending) @exclude_end = exclude_end normalized_ending = ending.to_i From 92b9bc83968d8a18df83de5b9524f141197bc090 Mon Sep 17 00:00:00 2001 From: Ivan Selivanov Date: Wed, 14 Aug 2019 19:18:43 +0300 Subject: [PATCH 4/6] fix range --- lib/tod/shift.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/tod/shift.rb b/lib/tod/shift.rb index 686598e..aad1e56 100644 --- a/lib/tod/shift.rb +++ b/lib/tod/shift.rb @@ -12,14 +12,14 @@ def initialize(beginning, ending, exclude_end=false) raise ArgumentError, "exclude_end must be true or false" end - @beginning = beginning.is_a?(::Tod::TimeOfDay) ? beginning : ::Tod::TimeOfDay(beginning) - @ending = ending.is_a?(::Tod::TimeOfDay) ? ending : ::Tod::TimeOfDay(ending) + @beginning = beginning.is_a?(::Tod::TimeOfDay) ? beginning : TimeOfDay(beginning) + @ending = ending.is_a?(::Tod::TimeOfDay) ? ending : TimeOfDay(ending) @exclude_end = exclude_end - normalized_ending = ending.to_i - normalized_ending += TimeOfDay::NUM_SECONDS_IN_DAY if normalized_ending < beginning.to_i + normalized_ending = @ending.to_i + normalized_ending += TimeOfDay::NUM_SECONDS_IN_DAY if normalized_ending < @beginning.to_i - @range = Range.new(beginning.to_i, normalized_ending, @exclude_end) + @range = Range.new(@beginning.to_i, normalized_ending, @exclude_end) freeze # Shift instances are value objects end From 85242b419ab2f225e0a11b3aa0fa39e1255763e8 Mon Sep 17 00:00:00 2001 From: Ivan Selivanov Date: Wed, 14 Aug 2019 19:20:36 +0300 Subject: [PATCH 5/6] revert class names --- lib/tod/shift.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/tod/shift.rb b/lib/tod/shift.rb index aad1e56..251c294 100644 --- a/lib/tod/shift.rb +++ b/lib/tod/shift.rb @@ -12,8 +12,8 @@ def initialize(beginning, ending, exclude_end=false) raise ArgumentError, "exclude_end must be true or false" end - @beginning = beginning.is_a?(::Tod::TimeOfDay) ? beginning : TimeOfDay(beginning) - @ending = ending.is_a?(::Tod::TimeOfDay) ? ending : TimeOfDay(ending) + @beginning = beginning.is_a?(::Tod::TimeOfDay) ? beginning : ::Tod::TimeOfDay(beginning) + @ending = ending.is_a?(::Tod::TimeOfDay) ? ending : ::Tod::TimeOfDay(ending) @exclude_end = exclude_end normalized_ending = @ending.to_i From 785f29b24ecfd459c55c5b5659fa10fa35d0c5de Mon Sep 17 00:00:00 2001 From: Ivan Selivanov Date: Wed, 14 Aug 2019 19:27:38 +0300 Subject: [PATCH 6/6] add conversion to include? method --- lib/tod/shift.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/tod/shift.rb b/lib/tod/shift.rb index 251c294..d3c60c6 100644 --- a/lib/tod/shift.rb +++ b/lib/tod/shift.rb @@ -26,7 +26,7 @@ def initialize(beginning, ending, exclude_end=false) # Returns true if the time of day is inside the shift, false otherwise. def include?(tod) - second = tod.to_i + second = tod.is_a?(::Tod::TimeOfDay) ? tod.to_i : ::Tod::TimeOfDay(tod).to_i second += TimeOfDay::NUM_SECONDS_IN_DAY if second < @range.first @range.cover?(second) end