Class: SpreadsheetGoodies::GoogleDrive::Connector

Inherits:
Object
  • Object
show all
Defined in:
lib/spreadsheet_goodies/google_drive/connector.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConnector

Returns a new instance of Connector.



8
9
10
11
12
# File 'lib/spreadsheet_goodies/google_drive/connector.rb', line 8

def initialize
  @logger = Logger.new(STDOUT)
  @session = log_into_google_drive
  raise 'Session not found!' unless @session
end

Instance Attribute Details

#loggerObject (readonly)

Returns the value of attribute logger.



6
7
8
# File 'lib/spreadsheet_goodies/google_drive/connector.rb', line 6

def logger
  @logger
end

#sessionObject (readonly)

Returns the value of attribute session.



6
7
8
# File 'lib/spreadsheet_goodies/google_drive/connector.rb', line 6

def session
  @session
end

Instance Method Details

#read_worksheet(spreadsheet_key, worksheet_title = nil) ⇒ Object

Reads a GoogleDrive::Spreadsheet object from Google Drive, using the google_drive gem. Documentation for this class can be found here: www.rubydoc.info/github/gimite/google-drive-ruby/GoogleDrive/Spreadsheet



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/spreadsheet_goodies/google_drive/connector.rb', line 17

def read_worksheet(spreadsheet_key, worksheet_title=nil)
  puts "Reading sheet '#{worksheet_title}' from Google Drive..."
  spreadsheet = @session.spreadsheet_by_key(spreadsheet_key)

  if worksheet_title
    worksheet = spreadsheet.worksheet_by_title(worksheet_title)
    if worksheet.nil?
      raise "Worksheet named '#{worksheet_title}' not found in spreadsheet."
    end
  else
    worksheet = spreadsheet.worksheets.first
  end

  worksheet
end

#read_worksheet_as_string(spreadsheet_key, worksheet_title) ⇒ Object



33
34
35
36
37
38
# File 'lib/spreadsheet_goodies/google_drive/connector.rb', line 33

def read_worksheet_as_string(spreadsheet_key, worksheet_title)
  worksheet = read_worksheet(spreadsheet_key, worksheet_title)
  contents = worksheet.export_as_string.force_encoding('utf-8')
  puts 'Spreadsheet read successfully.'
  contents
end