Class: GSheets::V4::Sheet

Inherits:
Object
  • Object
show all
Defined in:
lib/g_sheets/v4/sheet.rb

Instance Method Summary collapse

Constructor Details

#initialize(sheet:, spread_sheet:) ⇒ Sheet

Returns a new instance of Sheet.



4
5
6
7
8
9
# File 'lib/g_sheets/v4/sheet.rb', line 4

def initialize(sheet:, spread_sheet:)
  @sheet = sheet
  @spread_sheet = spread_sheet
  @session = spread_sheet.session
  @sheet_name = sheet.properties.title
end

Instance Method Details

#append(row) ⇒ Object



11
12
13
14
15
16
17
# File 'lib/g_sheets/v4/sheet.rb', line 11

def append(row)
  @session.append_row_to_spreadsheet(
    id: @spread_sheet.id,
    sheet_name: @sheet_name,
    row: row
  )
end

#rowsObject



19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/g_sheets/v4/sheet.rb', line 19

def rows
  all_rows = @session.get_spreadsheet_values(
    id: @spread_sheet.id,
    sheet_name: @sheet_name
  ).values

  headers = all_rows[0]
  all_rows.drop(1).map { |row|
    row_as_hash = {}
    headers.zip(row) { |k, v| row_as_hash[k] = v }
    Row.new(row_as_hash)
  }
end