Class: TZInfo::TimezonePeriod

Inherits:
Object
  • Object
show all
Defined in:
lib/icalendar/tzinfo.rb

Instance Method Summary collapse

Instance Method Details

#daylightObject



131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
# File 'lib/icalendar/tzinfo.rb', line 131

def daylight
  Icalendar::Timezone::Daylight.new.tap do |day|
    if dst?
      day.tzname = abbreviation.to_s
      day.tzoffsetfrom = start_transition.offset_from
      day.tzoffsetto = start_transition.offset_to
      day.dtstart = start_transition.dtstart
      day.rrule = start_transition.rrule unless end_transition.nil?
    else
      day.tzname = end_transition.offset_abbreviation
      day.tzoffsetfrom = end_transition.offset_from
      day.tzoffsetto = end_transition.offset_to
      day.dtstart = end_transition.dtstart
      day.rrule = end_transition.rrule
    end
  end
end

#singleObject



167
168
169
170
171
172
173
174
# File 'lib/icalendar/tzinfo.rb', line 167

def single
  Icalendar::Timezone::Standard.new.tap do |std|
    std.tzname = abbreviation.to_s
    std.tzoffsetfrom = offset.ical_offset
    std.tzoffsetto = offset.ical_offset
    std.dtstart = DateTime.new(1970).strftime '%Y%m%dT%H%M%S'
  end
end

#standardObject



149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
# File 'lib/icalendar/tzinfo.rb', line 149

def standard
  Icalendar::Timezone::Standard.new.tap do |std|
    if dst?
      std.tzname = end_transition.offset_abbreviation
      std.tzoffsetfrom = end_transition.offset_from
      std.tzoffsetto = end_transition.offset_to
      std.dtstart = end_transition.dtstart
      std.rrule = end_transition.rrule
    else
      std.tzname = abbreviation.to_s
      std.tzoffsetfrom = start_transition.offset_from
      std.tzoffsetto = start_transition.offset_to
      std.dtstart = start_transition.dtstart
      std.rrule = start_transition.rrule unless end_transition.nil?
    end
  end
end