Sha256: c551af38e9cb26893f592195da482ead138f8a4990b7edbef3c6381c0fa09148

Contents?: true

Size: 1.13 KB

Versions: 5

Compression:

Stored size: 1.13 KB

Contents

require 'restful_model'

module Nylas
  class Event < RestfulModel

    parameter :title
    parameter :description
    parameter :location
    parameter :read_only
    parameter :participants
    parameter :when
    parameter :calendar_id
    parameter :namespace_id
    parameter :recurrence
    parameter :status
    parameter :master_event_id
    parameter :original_start_time

    def as_json(options = {})
      hash = super(options)

      # Delete nil values from the hash
      hash.delete_if { |key, value| value.nil? }

      # The API doesn't like to receive: "object": "timespan" in the when block.
      if hash.has_key?('when') and hash['when'].has_key?('object')
        hash['when'].delete('object')
      end

      return hash
    end

    def rsvp!(status, comment)
      url = @_api.url_for_path("/send-rsvp")
      data = {:event_id => @id, :status => status, :comment => comment}

      ::RestClient.post(url, data.to_json, :content_type => :json) do |response, request, result|
        json = Nylas.interpret_response(result, response, :expected_class => Object)
        self.inflate(json)
      end

      self
    end


  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
nylas-3.2.0 lib/event.rb
nylas-3.1.1 lib/event.rb
nylas-3.1.0 lib/event.rb
nylas-shipmnts-3.0.0 lib/event.rb
nylas-3.0.0 lib/event.rb