Class: TZInfo::TimezonePeriod
Instance Method Summary collapse
Instance Method Details
#daylight ⇒ Object
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 |
# File 'lib/icalendar/tzinfo.rb', line 95 def daylight Icalendar::Daylight.new.tap do |day| if dst? day.timezone_name = abbreviation.to_s day.timezone_offset_from = start_transition.offset_from day.timezone_offset_to = start_transition.offset_to day.dtstart = start_transition.dtstart day.recurrence_rules = start_transition.rrule unless end_transition.nil? else day.timezone_name = abbreviation.to_s.sub("ST","DT") day.timezone_offset_from = end_transition.offset_from day.timezone_offset_to = end_transition.offset_to day.dtstart = end_transition.dtstart day.recurrence_rules = end_transition.rrule end end end |
#single ⇒ Object
131 132 133 134 135 136 137 138 |
# File 'lib/icalendar/tzinfo.rb', line 131 def single Icalendar::Standard.new.tap do |std| std.timezone_name = abbreviation.to_s std.timezone_offset_from = offset.ical_offset std.timezone_offset_to = offset.ical_offset std.dtstart = DateTime.new(1970).strftime '%Y%m%dT%H%M%S' end end |
#standard ⇒ Object
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
# File 'lib/icalendar/tzinfo.rb', line 113 def standard Icalendar::Standard.new.tap do |std| if dst? std.timezone_name = abbreviation.to_s.sub('DT', 'ST') std.timezone_offset_from = end_transition.offset_from std.timezone_offset_to = end_transition.offset_to std.dtstart = end_transition.dtstart std.recurrence_rules = end_transition.rrule else std.timezone_name = abbreviation.to_s std.timezone_offset_from = start_transition.offset_from std.timezone_offset_to = start_transition.offset_to std.dtstart = start_transition.dtstart std.recurrence_rules = start_transition.rrule unless end_transition.nil? end end end |