class GData::Client::Calendar

Client class to wrap working with the Calendar Data API.

Attributes

Public Class Methods

new(options = {}) click to toggle source
Calls superclass method GData::Client::Base.new
# File lib/gdata/client/calendar.rb, line 24
def initialize(options = {})
  options[:clientlogin_service] ||= 'cl'
  options[:authsub_scope] ||= 'https://www.google.com/calendar/feeds/'
  super(options)
end

Public Instance Methods

auth_handler=(handler) click to toggle source

Overrides auth_handler= so if the authentication changes, the session cookie is cleared.

Calls superclass method
# File lib/gdata/client/calendar.rb, line 32
def auth_handler=(handler)
  @session_cookie = nil
  return super(handler)
end
make_request(method, url, body = '', retries = 4) click to toggle source

Overrides #make_request to handle 302 redirects with a session cookie.

Calls superclass method GData::Client::Base#make_request
# File lib/gdata/client/calendar.rb, line 38
def make_request(method, url, body = '', retries = 4)
  response = super(method, url, body)
  if response.status_code == 302 and retries > 0
    @session_cookie = response.headers['set-cookie']
    return self.make_request(method, url, body, 
      retries - 1)
  else
    return response
  end
end
prepare_headers() click to toggle source

Custom #prepare_headers to include the session cookie if it exists

Calls superclass method GData::Client::Base#prepare_headers
# File lib/gdata/client/calendar.rb, line 50
def prepare_headers
  if @session_cookie
    @headers['cookie'] = @session_cookie
  end
  super
end