Class: SheetsDB::Session
- Inherits:
-
Object
show all
- Defined in:
- lib/sheets_db/session.rb
Defined Under Namespace
Classes: IllegalDefaultError, InvalidGoogleDriveUrlError, NoDefaultSetError
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(google_drive_session) ⇒ Session
Returns a new instance of Session.
27
28
29
|
# File 'lib/sheets_db/session.rb', line 27
def initialize(google_drive_session)
@google_drive_session = google_drive_session
end
|
Class Method Details
.default ⇒ Object
16
17
18
19
20
21
|
# File 'lib/sheets_db/session.rb', line 16
def self.default
unless @default
raise NoDefaultSetError.new("No default Session defined yet")
end
@default
end
|
.default=(default) ⇒ Object
9
10
11
12
13
14
|
# File 'lib/sheets_db/session.rb', line 9
def self.default=(default)
unless default.is_a?(self)
raise IllegalDefaultError.new("Default must be a SheetsDB::Session")
end
@default = default
end
|
.from_service_account_key(*args) ⇒ Object
23
24
25
|
# File 'lib/sheets_db/session.rb', line 23
def self.from_service_account_key(*args)
new(GoogleDrive::Session.from_service_account_key(*args))
end
|
Instance Method Details
#raw_file_by_id(id) ⇒ Object
31
32
33
|
# File 'lib/sheets_db/session.rb', line 31
def raw_file_by_id(id)
@google_drive_session.file_by_id(id)
end
|
#raw_file_by_url(url) ⇒ Object
35
36
37
38
39
40
|
# File 'lib/sheets_db/session.rb', line 35
def raw_file_by_url(url)
@google_drive_session.file_by_url(url)
rescue GoogleDrive::Error => e
(raise InvalidGoogleDriveUrlError, url) if e.message.match(/not a known Google Drive URL/)
raise
end
|