Class: OpeningHoursConverter::DateRange
- Inherits:
-
Object
- Object
- OpeningHoursConverter::DateRange
- Defined in:
- lib/opening_hours_converter/date_range.rb
Instance Attribute Summary collapse
-
#comment ⇒ Object
Returns the value of attribute comment.
-
#typical ⇒ Object
Returns the value of attribute typical.
-
#wide_interval ⇒ Object
Returns the value of attribute wide_interval.
Instance Method Summary collapse
- #add_comment(comment = '') ⇒ Object
- #defines_typical_day? ⇒ Boolean
- #defines_typical_week? ⇒ Boolean
- #has_same_typical?(date_range) ⇒ Boolean
-
#initialize(wide_interval = nil) ⇒ DateRange
constructor
A new instance of DateRange.
- #is_general_for?(date_range) ⇒ Boolean
- #is_holiday? ⇒ Boolean
- #update_range(wide_interval) ⇒ Object
Constructor Details
#initialize(wide_interval = nil) ⇒ DateRange
Returns a new instance of DateRange.
5 6 7 8 9 10 |
# File 'lib/opening_hours_converter/date_range.rb', line 5 def initialize(wide_interval = nil) @wide_interval = nil @typical = nil @comment = '' update_range(wide_interval) end |
Instance Attribute Details
#comment ⇒ Object
Returns the value of attribute comment.
3 4 5 |
# File 'lib/opening_hours_converter/date_range.rb', line 3 def comment @comment end |
#typical ⇒ Object
Returns the value of attribute typical.
3 4 5 |
# File 'lib/opening_hours_converter/date_range.rb', line 3 def typical @typical end |
#wide_interval ⇒ Object
Returns the value of attribute wide_interval.
3 4 5 |
# File 'lib/opening_hours_converter/date_range.rb', line 3 def wide_interval @wide_interval end |
Instance Method Details
#add_comment(comment = '') ⇒ Object
37 38 39 |
# File 'lib/opening_hours_converter/date_range.rb', line 37 def add_comment(comment = '') @comment += comment if comment end |
#defines_typical_day? ⇒ Boolean
12 13 14 |
# File 'lib/opening_hours_converter/date_range.rb', line 12 def defines_typical_day? @typical.instance_of?(OpeningHoursConverter::Day) end |
#defines_typical_week? ⇒ Boolean
16 17 18 |
# File 'lib/opening_hours_converter/date_range.rb', line 16 def defines_typical_week? @typical.instance_of?(OpeningHoursConverter::Week) end |
#has_same_typical?(date_range) ⇒ Boolean
41 42 43 |
# File 'lib/opening_hours_converter/date_range.rb', line 41 def has_same_typical?(date_range) defines_typical_day? == date_range.defines_typical_day? && @typical.same_as?(date_range.typical) end |
#is_general_for?(date_range) ⇒ Boolean
45 46 47 |
# File 'lib/opening_hours_converter/date_range.rb', line 45 def is_general_for?(date_range) defines_typical_day? == date_range.defines_typical_day? && @wide_interval.contains?(date_range.wide_interval) && @comment == date_range.comment end |
#is_holiday? ⇒ Boolean
49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/opening_hours_converter/date_range.rb', line 49 def is_holiday? result = @wide_interval.type == 'holiday' if !result @typical.intervals.each do |i| if !i.nil? result = true if i.day_start == -2 && i.day_end == -2 end end end result end |
#update_range(wide_interval) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/opening_hours_converter/date_range.rb', line 20 def update_range(wide_interval) @wide_interval = !wide_interval.nil? ? wide_interval : OpeningHoursConverter::WideInterval.new.always return unless @typical.nil? @typical = case @wide_interval.type when 'day' if @wide_interval.end.nil? OpeningHoursConverter::Day.new else OpeningHoursConverter::Week.new end else OpeningHoursConverter::Week.new end end |