spreadsheet_goodies 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 22fd9b4ad49beadbf607f862a4173a6cc2527dc2
4
- data.tar.gz: 522d7d33f38b3c23801aacc4b65a8b9a886bd9c3
3
+ metadata.gz: 0ac665483c2a857085d25a1237cbab883b2b12c3
4
+ data.tar.gz: 01d5aeed49efd551611bfc80981258a9d4346dcf
5
5
  SHA512:
6
- metadata.gz: ce861137e10792523713bf98b53a4d8b6af3d1a100363d3bed19e52ac4f26f174557dae3b843ebbaad7f5d9f1b84adaf2a6cf3d7298a018c692899512589f9b8
7
- data.tar.gz: f7912ae7d7014b29d0eedb3a234b5c3b80e1d4a5f4b736410441a01599b6aad5cda2e499a6690da6a60b1be35ad3d63a19a0379fe2c67a9634e815290d52761f
6
+ metadata.gz: f963fcdda1e06d423fdb49584e9d19e7b8507eb2a20bbebd0ca4716b01b6aef9134594819aede023b1dfd044cbb93e48209ef1e173f8a52e5b5bd0e281d0d0f7
7
+ data.tar.gz: 2c03a6bb43be7e8794ea8d03e8f7c23b4a226b16b6d777d1aff7309526a2467d077d7a2bee5e5463fdd8dea78750940d1948125dc2e91311d0113fe3d244ad37
data/README.md CHANGED
@@ -30,12 +30,12 @@ Or install it yourself as:
30
30
  Read a Google Spreadsheet:
31
31
  ```
32
32
  spreadsheet_key = '1UC43X6aZwlWPCnn...', '~> 0'#, '~> 1.13.2'
33
- sheet = SpreadsheetGoodies::GoogleWorksheetProxy.new(spreadsheet_key, 'Relação Lojas').read_from_google_drive
33
+ sheet = SpreadsheetGoodies::GoogleDriveWorksheet.new(spreadsheet_key, 'Relação Lojas').read_from_google_drive
34
34
  ```
35
35
 
36
36
  Read an Excel workbook:
37
37
  ```
38
- sheet = SpreadsheetGoodies::ExcelWorksheetProxy.new('~/workbook.xlsx')
38
+ sheet = SpreadsheetGoodies::ExcelWorksheet.new('~/workbook.xlsx')
39
39
  ```
40
40
 
41
41
  Iterate over every data row (i.e., all but the header row) and print the value
Binary file
@@ -1,7 +1,7 @@
1
1
  require 'spreadsheet_goodies/version'
2
- require 'spreadsheet_goodies/google_worksheet_proxy'
2
+ require 'spreadsheet_goodies/google_drive_worksheet'
3
3
  require 'spreadsheet_goodies/google_drive_connector'
4
- require 'spreadsheet_goodies/excel_worksheet_proxy'
4
+ require 'spreadsheet_goodies/excel_worksheet'
5
5
  require 'roo'
6
6
 
7
7
  module SpreadsheetGoodies
@@ -24,7 +24,7 @@ module SpreadsheetGoodies
24
24
 
25
25
  class Configuration
26
26
  attr_accessor :service_account_key_json, :login_method,
27
- :google_client_id, :client_secret, :refresh_token
27
+ :google_client_id, :client_secret, :refresh_token, :strip_values_on_read
28
28
 
29
29
  def initialize
30
30
  @login_method = :oauth2
@@ -1,9 +1,9 @@
1
- require_relative 'excel_worksheet_proxy_row'
1
+ require_relative 'excel_worksheet_row'
2
2
 
3
3
  # A cached copy of an Excel worksheet (a single workbook "tab"), stored as an
4
4
  # array of arrays. Individual cells can be accessed by column title, e.g.:
5
5
  # worksheet[0]['A column title']
6
- class SpreadsheetGoodies::ExcelWorksheetProxy
6
+ class SpreadsheetGoodies::ExcelWorksheet
7
7
  attr_reader :rows, :workbook, :worksheet
8
8
 
9
9
  # @param workbook_file_pathname [String] Full path and filename to Excel workbook document
@@ -30,9 +30,9 @@ class SpreadsheetGoodies::ExcelWorksheetProxy
30
30
  # was missed some times.)
31
31
  rows = (1..@worksheet.last_row).map {|row_number| @worksheet.row(row_number) }
32
32
 
33
- # Create the rows cache, made of instances of ExcelWorksheetProxyRow
33
+ # Create the rows cache, made of instances of ExcelWorksheetRow
34
34
  @rows = rows.collect.with_index do |row, index|
35
- ExcelWorksheetProxyRow.new(@header_row, index+1, *row)
35
+ ExcelWorksheetRow.new(@header_row, index+1, *row)
36
36
  end
37
37
 
38
38
  self
@@ -58,7 +58,7 @@ class SpreadsheetGoodies::ExcelWorksheetProxy
58
58
 
59
59
  def add_row(row_data)
60
60
  last_row_number = @rows.count
61
- @rows << ExcelWorksheetProxyRow.new(@header_row, last_row_number+1, *row_data)
61
+ @rows << ExcelWorksheetRow.new(@header_row, last_row_number+1, *row_data)
62
62
  end
63
63
 
64
64
  def spreadsheet
@@ -1,8 +1,8 @@
1
- class SpreadsheetGoodies::ExcelWorksheetProxy
1
+ class SpreadsheetGoodies::ExcelWorksheet
2
2
 
3
3
  # Overload Array#[] to allow reading a cell's contents using its column title
4
4
  # as index, e.g.: row['Column Title']
5
- class ::ExcelWorksheetProxyRow < Array
5
+ class ::ExcelWorksheetRow < Array
6
6
  attr_reader :header_row, :row_number
7
7
 
8
8
  # @param header_row [Array] The header cells of the sheet from were the row was taken
@@ -1,11 +1,11 @@
1
- require_relative 'google_worksheet_proxy_row'
1
+ require_relative 'google_drive_worksheet_row'
2
2
  require 'csv'
3
3
 
4
4
  # A cached copy of a Google Spreadsheets worksheet (i.e., a single workbook "tab"),
5
5
  # stored as an array of arrays. Individual cells can be accessed by column title.
6
6
  # Example:
7
7
  # worksheet[0]['A column title']
8
- class SpreadsheetGoodies::GoogleWorksheetProxy
8
+ class SpreadsheetGoodies::GoogleDriveWorksheet
9
9
  attr_reader :rows, :header_row
10
10
 
11
11
  # @param worksheet_title_or_index [String] Sheet name; if unspecified, the
@@ -25,9 +25,16 @@ class SpreadsheetGoodies::GoogleWorksheetProxy
25
25
  worksheet_contents = read_worksheet.export_as_string.force_encoding('utf-8')
26
26
 
27
27
  rows = CSV::parse(worksheet_contents)
28
+
29
+ if SpreadsheetGoodies.configuration.strip_values_on_read
30
+ rows = rows.map do |row|
31
+ row.map {|element| element.try(:strip) }
32
+ end
33
+ end
34
+
28
35
  @header_row = rows[@num_header_rows-1]
29
36
  @rows = rows.collect.with_index do |row, index|
30
- GoogleWorksheetProxyRow.new(@header_row, index+1, *row)
37
+ GoogleDriveWorksheetRow.new(@header_row, index+1, *row)
31
38
  end
32
39
 
33
40
  self
@@ -1,8 +1,8 @@
1
- class SpreadsheetGoodies::GoogleWorksheetProxy
1
+ class SpreadsheetGoodies::GoogleDriveWorksheet
2
2
 
3
3
  # Sobrecarrega método [] da Array para permitir acessar células passando
4
4
  # o título da coluna como índice. Ex: row['Data formal do pedido']
5
- class ::GoogleWorksheetProxyRow < Array
5
+ class ::GoogleDriveWorksheetRow < Array
6
6
  attr_reader :header_row, :row_number
7
7
 
8
8
  def initialize(header_row, sheet_row_number, *args)
@@ -1,3 +1,3 @@
1
1
  module SpreadsheetGoodies
2
- VERSION = '0.0.3'
2
+ VERSION = '0.0.4'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spreadsheet_goodies
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ricardo Jasinski
@@ -130,13 +130,15 @@ files:
130
130
  - bin/console
131
131
  - bin/setup
132
132
  - builds/spreadsheet_goodies-0.0.1.gem
133
+ - builds/spreadsheet_goodies-0.0.2.gem
134
+ - builds/spreadsheet_goodies-0.0.3.gem
133
135
  - lib/spreadsheet_goodies.rb
134
136
  - lib/spreadsheet_goodies/excel_workbook_builder.rb
135
- - lib/spreadsheet_goodies/excel_worksheet_proxy.rb
136
- - lib/spreadsheet_goodies/excel_worksheet_proxy_row.rb
137
+ - lib/spreadsheet_goodies/excel_worksheet.rb
138
+ - lib/spreadsheet_goodies/excel_worksheet_row.rb
137
139
  - lib/spreadsheet_goodies/google_drive_connector.rb
138
- - lib/spreadsheet_goodies/google_worksheet_proxy.rb
139
- - lib/spreadsheet_goodies/google_worksheet_proxy_row.rb
140
+ - lib/spreadsheet_goodies/google_drive_worksheet.rb
141
+ - lib/spreadsheet_goodies/google_drive_worksheet_row.rb
140
142
  - lib/spreadsheet_goodies/version.rb
141
143
  - spreadsheet_goodies.gemspec
142
144
  homepage: https://github.com/ricardo-jasinski/spreadsheet_goodies