18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/icalendar/values/time_with_zone.rb', line 18
def initialize(value, params = {})
params = Icalendar::DowncasedHash(params)
@tz_utc = params['tzid'] == 'UTC'
offset_value = if params['tzid'].present?
tzid = params['tzid'].is_a?(::Array) ? params['tzid'].first : params['tzid']
if defined?(ActiveSupport::TimeZone) &&
defined?(ActiveSupportTimeWithZoneAdapter) &&
(tz = ActiveSupport::TimeZone[tzid])
ActiveSupportTimeWithZoneAdapter.new(nil, tz, value)
elsif (tz = TimezoneStore.retrieve(tzid))
value.change offset: tz.offset_for_local(value).to_s
end
end
super((offset_value || value), params)
end
|