Download as Markdown llms.txt

module CalInvite::IcalTimezone

Builds RFC 5545 VTIMEZONE components and converts UTC times to local wall-clock time for a given IANA/Olson timezone identifier, using TZInfo (already pulled in transitively via activesupport).

Only uses TZInfo APIs available in both tzinfo 1.2+ (pinned by Rails 6.0) and 2.x; the few period accessors renamed in 2.x go through {period_starts_at}, {period_ends_at} and {period_local_ends_at}.

Event validates timezone with {valid?}, so by the time a provider runs it’s either UTC or a TZInfo-recognized identifier. {local_time} and {vtimezone_lines} still fail soft (return nil) for UTC or unrecognized input.

@api private