Method: GoogleDrive::Session#initialize

Defined in:
lib/google_drive/session.rb

#initialize(credentials_or_access_token, proxy = nil) ⇒ Session

Returns a new instance of Session.



134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
# File 'lib/google_drive/session.rb', line 134

def initialize(credentials_or_access_token, proxy = nil)
  if proxy
    fail(
      ArgumentError,
      'Specifying a proxy object is no longer supported. Set ENV["http_proxy"] instead.')
  end

  if credentials_or_access_token
    if credentials_or_access_token.is_a?(String)
      credentials = AccessTokenCredentials.new(credentials_or_access_token)
    # Equivalent of credentials_or_access_token.is_a?(OAuth2::AccessToken),
    # without adding dependency to "oauth2" library.
    elsif credentials_or_access_token.class.ancestors.any?{ |m| m.name == 'OAuth2::AccessToken' }
      credentials = AccessTokenCredentials.new(credentials_or_access_token.token)
    else
      credentials = credentials_or_access_token
    end
    @fetcher = ApiClientFetcher.new(credentials)
  else
    @fetcher = nil
  end
end