module CalInvite
lib/cal_invite/configuration.rb Configuration class for the CalInvite gem. Handles all configurable options including cache settings, timezone, and webhook secrets.
@attr_reader [ActiveSupport::Cache::Store, nil] cache_store The cache store to use @attr_reader [String] cache_prefix The prefix to use for cache keys @attr_reader [Integer] cache_expires_in The default cache expiration time in seconds @attr_reader [String, nil] webhook_secret The secret key for webhook verification @attr_reader [String] timezone The default timezone for events
lib/cal_invite/event.rb Represents a calendar event with all its attributes and generation capabilities.
@attr_accessor [String] title The title of the event @attr_accessor [Time] start_time The start time of the event @attr_accessor [Time] end_time The end time of the event @attr_accessor [String] description The description of the event @attr_accessor [String] location The location of the event @attr_accessor [String] url The URL associated with the event @attr_accessor [Array<String, Hash>] attendees Attendees as email strings, or hashes like { email:, name:, partstat: } for a display name and/or a specific RSVP status (:accepted, :declined, :tentative, :needs_action, :delegated) @attr_accessor [String] timezone The timezone for the event @attr_accessor [Boolean] show_attendees Whether to include attendees in calendar invites @attr_accessor [String] notes Additional notes for the event @attr_accessor [Array<Hash>] multi_day_sessions Sessions for multi-day events @attr_accessor [Boolean] all_day Whether this is an all-day event @attr_accessor [Hash] organizer The event organizer, e.g. { name: “Jane Doe”, email: “jane@example.com” } @attr_accessor [String] uid Stable RFC 5545 UID identifying this event across its lifecycle @attr_accessor [Integer] sequence RFC 5545 SEQUENCE number; bump on every REQUEST/CANCEL update @attr_accessor [Array<Float>, Hash] geo Location coordinates, e.g. [37.4595, -122.1418] or { lat:, lng: } @attr_accessor [Array<Integer>] reminders Minutes-before-start values, one VALARM per entry @attr_accessor [Boolean] busy Whether this event should show as busy (true) or free (false) on free/busy lookups @attr_accessor [Symbol, String] visibility :public, :private, or :confidential @attr_accessor [String] rrule A raw RFC 5545 recurrence rule value, e.g. “FREQ=WEEKLY;COUNT=5” @attr_accessor [String] calendar_name Calendar-level display name (X-WR-CALNAME) @attr_accessor [Symbol, String] importance :low, :normal, or :high — maps to the standard PRIORITY property and, for Outlook specifically, X-MICROSOFT-CDO-IMPORTANCE @attr_accessor [Boolean] allow_counter Whether attendees may propose a new time. When set to false, emits X-MICROSOFT-DISALLOW-COUNTER — the one client-specific lever available for this; other clients don’t expose an equivalent control
lib/cal_invite/ical_timezone.rb
lib/cal_invite/providers.rb Namespace module for all calendar providers supported by CalInvite. Each provider implements the interface defined by BaseProvider.
@see CalInvite::Providers::BaseProvider
Constants
- VERSION