Class: GoogleSpreadsheetFetcher::Fetcher
- Inherits:
-
Object
- Object
- GoogleSpreadsheetFetcher::Fetcher
- Defined in:
- lib/google_spreadsheet_fetcher/fetcher.rb
Constant Summary collapse
- OOB_URI =
'urn:ietf:wg:oauth:2.0:oob'
Instance Method Summary collapse
-
#fetch_all_rows(range, skip: 0) ⇒ Object
Fetch all rows.
- #fetch_all_rows_by_gid(gid, skip: 0) ⇒ Object
- #fetch_all_rows_by_index(index, skip: 0) ⇒ Object
- #fetch_all_rows_by_title(title, skip: 0) ⇒ Object
-
#initialize(credential_store_file, user_id, sheet_key, application_name: nil) ⇒ Fetcher
constructor
A new instance of Fetcher.
- #service ⇒ Object
Constructor Details
#initialize(credential_store_file, user_id, sheet_key, application_name: nil) ⇒ Fetcher
Returns a new instance of Fetcher.
10 11 12 13 14 15 16 |
# File 'lib/google_spreadsheet_fetcher/fetcher.rb', line 10 def initialize(credential_store_file, user_id, sheet_key, application_name: nil) @client_secret_file = GoogleSpreadsheetFetcher.config.client_secrets_file_path @credential_store_file = credential_store_file @user_id = user_id @sheet_key = sheet_key @application_name = application_name end |
Instance Method Details
#fetch_all_rows(range, skip: 0) ⇒ Object
Fetch all rows
22 23 24 25 26 27 28 |
# File 'lib/google_spreadsheet_fetcher/fetcher.rb', line 22 def fetch_all_rows(range, skip: 0) rows = service.batch_get_spreadsheet_values(@sheet_key, ranges: [range])&.value_ranges&.first&.values return if rows.empty? rows.slice!(0, skip) rows end |
#fetch_all_rows_by_gid(gid, skip: 0) ⇒ Object
38 39 40 41 42 43 44 |
# File 'lib/google_spreadsheet_fetcher/fetcher.rb', line 38 def fetch_all_rows_by_gid(gid, skip: 0) sheet = sheet_by_gid(gid) raise if sheet.nil? range = "#{sheet.properties.title}!A:Z" fetch_all_rows(range, skip: skip) end |
#fetch_all_rows_by_index(index, skip: 0) ⇒ Object
30 31 32 33 34 35 36 |
# File 'lib/google_spreadsheet_fetcher/fetcher.rb', line 30 def fetch_all_rows_by_index(index, skip: 0) sheet = sheet_by_index(index) raise if sheet.nil? range = "#{sheet.properties.title}!A:Z" fetch_all_rows(range, skip: skip) end |
#fetch_all_rows_by_title(title, skip: 0) ⇒ Object
46 47 48 49 50 51 52 |
# File 'lib/google_spreadsheet_fetcher/fetcher.rb', line 46 def fetch_all_rows_by_title(title, skip: 0) sheet = sheet_by_title(title) raise if sheet.nil? range = "#{sheet.properties.title}!A:Z" fetch_all_rows(range, skip: skip) end |
#service ⇒ Object
54 55 56 57 58 59 60 61 62 |
# File 'lib/google_spreadsheet_fetcher/fetcher.rb', line 54 def service @service ||= begin credentials = fetch_credentials service = Google::Apis::SheetsV4::SheetsService.new service. = credentials service end end |