class Embulk::Input::GoogleSpreadsheets::SpreadsheetsClient
Attributes
auth[RW]
pager[RW]
spreadsheets_url[RW]
value_render_option[RW]
worksheet_title[RW]
Public Class Methods
new(task, auth:, pager:)
click to toggle source
# File lib/embulk/input/google_spreadsheets/spreadsheets_client.rb, line 12 def initialize(task, auth:, pager:) @spreadsheets_url = task['spreadsheets_url'] @worksheet_title = task['worksheet_title'] @value_render_option = task['value_render_option'] @auth = auth @pager = pager end
Public Instance Methods
application_name()
click to toggle source
# File lib/embulk/input/google_spreadsheets/spreadsheets_client.rb, line 24 def application_name @application_name ||= 'embulk-input-google_spreadsheets' end
logger()
click to toggle source
# File lib/embulk/input/google_spreadsheets/spreadsheets_client.rb, line 20 def logger GoogleSpreadsheets.logger end
service()
click to toggle source
# File lib/embulk/input/google_spreadsheets/spreadsheets_client.rb, line 69 def service @service ||= Google::Apis::SheetsV4::SheetsService.new.tap do |s| s.client_options.application_name = application_name s.authorization = auth.authenticate end end
spreadsheets()
click to toggle source
# File lib/embulk/input/google_spreadsheets/spreadsheets_client.rb, line 32 def spreadsheets service.get_spreadsheet(spreadsheets_id, ranges: worksheet_title, include_grid_data: false) end
spreadsheets_id()
click to toggle source
# File lib/embulk/input/google_spreadsheets/spreadsheets_client.rb, line 28 def spreadsheets_id SpreadsheetsUrlUtil.capture_id(spreadsheets_url) end
worksheet()
click to toggle source
# File lib/embulk/input/google_spreadsheets/spreadsheets_client.rb, line 36 def worksheet spreadsheets.sheets.first end
worksheet_each_record(&block)
click to toggle source
# File lib/embulk/input/google_spreadsheets/spreadsheets_client.rb, line 65 def worksheet_each_record(&block) pager.each_record(self, &block) end
worksheet_grid_properties()
click to toggle source
# File lib/embulk/input/google_spreadsheets/spreadsheets_client.rb, line 44 def worksheet_grid_properties worksheet_properties.grid_properties end
worksheet_max_column_num()
click to toggle source
# File lib/embulk/input/google_spreadsheets/spreadsheets_client.rb, line 52 def worksheet_max_column_num worksheet_grid_properties.column_count end
worksheet_max_row_num()
click to toggle source
# File lib/embulk/input/google_spreadsheets/spreadsheets_client.rb, line 48 def worksheet_max_row_num worksheet_grid_properties.row_count end
worksheet_properties()
click to toggle source
# File lib/embulk/input/google_spreadsheets/spreadsheets_client.rb, line 40 def worksheet_properties worksheet.properties end
worksheet_values(range)
click to toggle source
# File lib/embulk/input/google_spreadsheets/spreadsheets_client.rb, line 56 def worksheet_values(range) range = "#{worksheet_title}!#{range}" logger.info { "`embulk-input-google_spreadsheets`: load data from spreadsheet: '#{spreadsheets_url}'," \ " range: '#{range}', value_render_option: '#{value_render_option}'" } service.get_spreadsheet_values(spreadsheets_id, range, value_render_option: value_render_option).values end