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.
-
#fallback_ranges ⇒ Object
Returns the value of attribute fallback_ranges.
-
#fallback_suffix ⇒ Object
Returns the value of attribute fallback_suffix.
-
#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 11 12 |
# File 'lib/opening_hours_converter/date_range.rb', line 5 def initialize(wide_interval = nil) @wide_interval = nil @typical = nil @comment = '' @fallback_suffix = nil @fallback_ranges = [] 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 |
#fallback_ranges ⇒ Object
Returns the value of attribute fallback_ranges.
3 4 5 |
# File 'lib/opening_hours_converter/date_range.rb', line 3 def fallback_ranges @fallback_ranges end |
#fallback_suffix ⇒ Object
Returns the value of attribute fallback_suffix.
3 4 5 |
# File 'lib/opening_hours_converter/date_range.rb', line 3 def fallback_suffix @fallback_suffix 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
39 40 41 |
# File 'lib/opening_hours_converter/date_range.rb', line 39 def add_comment(comment = '') @comment += comment if comment end |
#defines_typical_day? ⇒ Boolean
14 15 16 |
# File 'lib/opening_hours_converter/date_range.rb', line 14 def defines_typical_day? @typical.instance_of?(OpeningHoursConverter::Day) end |
#defines_typical_week? ⇒ Boolean
18 19 20 |
# File 'lib/opening_hours_converter/date_range.rb', line 18 def defines_typical_week? @typical.instance_of?(OpeningHoursConverter::Week) end |
#has_same_typical?(date_range) ⇒ Boolean
43 44 45 |
# File 'lib/opening_hours_converter/date_range.rb', line 43 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
47 48 49 |
# File 'lib/opening_hours_converter/date_range.rb', line 47 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
51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/opening_hours_converter/date_range.rb', line 51 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
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/opening_hours_converter/date_range.rb', line 22 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 |