class Icalendar::Offset
def self.build(value, params, timezone_store)
def self.build(value, params, timezone_store) return nil if params.nil? || params['tzid'].nil? tzid = Array(params['tzid']).first [ Icalendar::Offset::ActiveSupportExact, Icalendar::Offset::TimeZoneStore, Icalendar::Offset::ActiveSupportPartial, Icalendar::Offset::Null ].lazy.map { |klass| klass.new(tzid, value, timezone_store) }.detect(&:valid?) end
def initialize(tzid, value, timezone_store)
def initialize(tzid, value, timezone_store) @tzid = tzid @value = value @timezone_store = timezone_store end
def normalized_tzid
def normalized_tzid Array(tzid) end
def support_classes_defined?
def support_classes_defined? defined?(ActiveSupport::TimeZone) && defined?(Icalendar::Values::Helpers::ActiveSupportTimeWithZoneAdapter) end