module AddToGoogleCal::InstanceMethods

Public Instance Methods

to_gcal() click to toggle source
# File lib/add_to_google_cal.rb, line 29
def to_gcal
  dtstart_field = self.class.dtstart_field
  dtend_field   = self.class.dtend_field
  summary_field = self.class.summary_field

  unless self.respond_to?(dtstart_field)
    raise ArgumentError, "#{self} does not have a #{dtstart_field}"
  end

  unless self.respond_to?(dtend_field)
    raise ArgumentError, "#{self} does not have a #{dtend_field}"
  end

  unless self.respond_to?(summary_field)
    raise ArgumentError, "#{self} does not have a #{summary_field}"
  end

  hash = {
    dtstart: self.send(dtstart_field),
    dtend:   self.send(dtend_field),
    summary: self.send(summary_field)
  }

  AddToGoogleCal::Builder.new(hash).call
end