Sha256: 8ea3175b15533a19b8f0c977515c22a59038ae58822a84e2998a4e3e5eb4068f
Contents?: true
Size: 1.13 KB
Versions: 1
Compression:
Stored size: 1.13 KB
Contents
module GSheets module V3 class WorkSheet def initialize(session:, grid_id: " default", id:) @grid_id = grid_id @session = session @id = id end def headers cells_first_row["feed"]["entry"].map {|e| e["content"]["$t"]} end def rows data_list = worksheet_as_list["feed"]["entry"] list = data_list.map {|entry| [ "title: #{entry['title']['$t']}", entry["content"]["$t"] ].join(", ") } result = [] list.each do |l| row = {} l.split(",").each do |elem| e = elem.split(":") row[e.first.strip.freeze] = e.last.strip.freeze end result << row end result.map(&:values) end private def cells_first_row JSON.parse(@session.get_cells(id: @id, grid_id: @grid_id, options: header_row_options).body) end def worksheet_as_list JSON.parse(@session.get_list(id: @id, grid_id: @grid_id).body) end def header_row_options ["min-row=1", "max-row=1"] end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
g_sheets-0.2.0 | lib/g_sheets/v3/work_sheet.rb |