Sha256: afc10cb45c86b084e078e4f475f9acf8d76193c0f32eb867a41e55ae98134621
Contents?: true
Size: 663 Bytes
Versions: 1
Compression:
Stored size: 663 Bytes
Contents
require 'icalendar/tzinfo' module JSONiCal class CalendarBuilder def initialize(*events) @events = *events end def call(calendar_name: nil, vendor: nil) calendar = Icalendar::Calendar.new calendar.add_timezone(timezone) @events.each { |event| calendar.add_event(event.to_ics(vendor: vendor)) } calendar.publish unless calendar_name.nil? calendar.append_custom_property('X-WR-CALNAME', calendar_name) end calendar.to_ical end private def timezone TZInfo::Timezone. get(JSONiCal::VEVENTModel::TIMEZONE). ical_timezone(Time.now.utc) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
JSONiCal-1.0.0 | lib/jsonical/calendar_builder.rb |