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(w = nil) ⇒ DateRange
constructor
A new instance of DateRange.
- #is_general_for?(date_range) ⇒ Boolean
- #is_holiday? ⇒ Boolean
- #update_range(wide) ⇒ Object
Constructor Details
#initialize(w = 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(w=nil) @wide_interval = nil @typical = nil @comment = "" update_range(w) 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 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 |
# File 'lib/opening_hours_converter/date_range.rb', line 49 def is_holiday? result = false result = @wide_interval.type == "holiday" if !result @typical.intervals.each do |i| result = true if i.day_start == -2 && i.day_end == -2 end end result end |
#update_range(wide) ⇒ 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) @wide_interval = !wide.nil? ? wide : OpeningHoursConverter::WideInterval.new.always if @typical.nil? case @wide_interval.type when "day" if @wide_interval.end.nil? @typical = OpeningHoursConverter::Day.new else @typical = OpeningHoursConverter::Week.new end else @typical = OpeningHoursConverter::Week.new end end end |