class GData::Client::Calendar
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