class IcalImporter::RemoteEvent
Attributes
event[RW]
utc[RW]
utc?[RW]
Public Class Methods
new(event)
click to toggle source
# File lib/ical_importer/remote_event.rb, line 7 def initialize(event) @event = event begin @utc = @event.dtstart.tz_utc rescue @utc = true end end
Public Instance Methods
all_day_event?()
click to toggle source
# File lib/ical_importer/remote_event.rb, line 28 def all_day_event? begin (Time.parse(end_date_time.to_s) - Time.parse(start_date_time.to_s)) >= 1.day rescue ArgumentError => e # no time info in '', Defaulting to false false end end
end_date_time()
click to toggle source
# File lib/ical_importer/remote_event.rb, line 20 def end_date_time get_date_time_for :dtend end
event_attributes()
click to toggle source
# File lib/ical_importer/remote_event.rb, line 36 def event_attributes { :uid => uid.to_s, :title => summary.to_s, :utc => utc?, :description => description.to_s, :location => location.to_s, :start_date_time => start_date_time, :end_date_time => end_date_time, :all_day_event => all_day_event? } end
recurrence_id()
click to toggle source
# File lib/ical_importer/remote_event.rb, line 24 def recurrence_id event.recurrence_id ? event.recurrence_id.to_datetime : nil end
start_date_time()
click to toggle source
# File lib/ical_importer/remote_event.rb, line 16 def start_date_time get_date_time_for :dtstart end
Private Instance Methods
get_date_time_for(event_method)
click to toggle source
# File lib/ical_importer/remote_event.rb, line 51 def get_date_time_for(event_method) event_method = event_method.to_sym raise ArgumentError, "Should be dtend or dtstart" unless [:dtstart, :dtend].include? event_method event_time = event.send event_method if event_time.respond_to?(:tz_utc) (event_time.tz_utc) ? event_time.utc : event_time.to_datetime else begin event_time.to_datetime rescue event_time end end end