Class: Embulk::Input::GoogleSpreadsheets::SpreadsheetsClient
- Inherits:
-
Object
- Object
- Embulk::Input::GoogleSpreadsheets::SpreadsheetsClient
- Defined in:
- lib/embulk/input/google_spreadsheets/spreadsheets_client.rb
Instance Attribute Summary collapse
-
#auth ⇒ Object
Returns the value of attribute auth.
-
#pager ⇒ Object
Returns the value of attribute pager.
-
#spreadsheets_url ⇒ Object
Returns the value of attribute spreadsheets_url.
-
#value_render_option ⇒ Object
Returns the value of attribute value_render_option.
-
#worksheet_title ⇒ Object
Returns the value of attribute worksheet_title.
Instance Method Summary collapse
- #application_name ⇒ Object
-
#initialize(task, auth:, pager:) ⇒ SpreadsheetsClient
constructor
A new instance of SpreadsheetsClient.
- #logger ⇒ Object
- #service ⇒ Object
- #spreadsheets ⇒ Object
- #spreadsheets_id ⇒ Object
- #worksheet ⇒ Object
- #worksheet_each_record(&block) ⇒ Object
- #worksheet_grid_properties ⇒ Object
- #worksheet_max_column_num ⇒ Object
- #worksheet_max_row_num ⇒ Object
- #worksheet_properties ⇒ Object
- #worksheet_values(range) ⇒ Object
Constructor Details
#initialize(task, auth:, pager:) ⇒ SpreadsheetsClient
Returns a new instance of SpreadsheetsClient.
12 13 14 15 16 17 18 |
# 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 |
Instance Attribute Details
#auth ⇒ Object
Returns the value of attribute auth.
10 11 12 |
# File 'lib/embulk/input/google_spreadsheets/spreadsheets_client.rb', line 10 def auth @auth end |
#pager ⇒ Object
Returns the value of attribute pager.
10 11 12 |
# File 'lib/embulk/input/google_spreadsheets/spreadsheets_client.rb', line 10 def pager @pager end |
#spreadsheets_url ⇒ Object
Returns the value of attribute spreadsheets_url.
10 11 12 |
# File 'lib/embulk/input/google_spreadsheets/spreadsheets_client.rb', line 10 def spreadsheets_url @spreadsheets_url end |
#value_render_option ⇒ Object
Returns the value of attribute value_render_option.
10 11 12 |
# File 'lib/embulk/input/google_spreadsheets/spreadsheets_client.rb', line 10 def value_render_option @value_render_option end |
#worksheet_title ⇒ Object
Returns the value of attribute worksheet_title.
10 11 12 |
# File 'lib/embulk/input/google_spreadsheets/spreadsheets_client.rb', line 10 def worksheet_title @worksheet_title end |
Instance Method Details
#application_name ⇒ Object
24 25 26 |
# File 'lib/embulk/input/google_spreadsheets/spreadsheets_client.rb', line 24 def application_name @application_name ||= 'embulk-input-google_spreadsheets' end |
#logger ⇒ Object
20 21 22 |
# File 'lib/embulk/input/google_spreadsheets/spreadsheets_client.rb', line 20 def logger GoogleSpreadsheets.logger end |
#service ⇒ Object
69 70 71 72 73 74 |
# File 'lib/embulk/input/google_spreadsheets/spreadsheets_client.rb', line 69 def service @service ||= Google::Apis::SheetsV4::SheetsService.new.tap do |s| s..application_name = application_name s. = auth.authenticate end end |
#spreadsheets ⇒ Object
32 33 34 |
# 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 ⇒ Object
28 29 30 |
# File 'lib/embulk/input/google_spreadsheets/spreadsheets_client.rb', line 28 def spreadsheets_id SpreadsheetsUrlUtil.capture_id(spreadsheets_url) end |
#worksheet ⇒ Object
36 37 38 |
# File 'lib/embulk/input/google_spreadsheets/spreadsheets_client.rb', line 36 def worksheet spreadsheets.sheets.first end |
#worksheet_each_record(&block) ⇒ Object
65 66 67 |
# 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 ⇒ Object
44 45 46 |
# File 'lib/embulk/input/google_spreadsheets/spreadsheets_client.rb', line 44 def worksheet_grid_properties worksheet_properties.grid_properties end |
#worksheet_max_column_num ⇒ Object
52 53 54 |
# 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 ⇒ Object
48 49 50 |
# File 'lib/embulk/input/google_spreadsheets/spreadsheets_client.rb', line 48 def worksheet_max_row_num worksheet_grid_properties.row_count end |
#worksheet_properties ⇒ Object
40 41 42 |
# File 'lib/embulk/input/google_spreadsheets/spreadsheets_client.rb', line 40 def worksheet_properties worksheet.properties end |
#worksheet_values(range) ⇒ Object
56 57 58 59 60 61 62 63 |
# 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 |