tabular 0.3.5 → 0.4.0

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: 613698738bcb1e47f94bb2600a19439357aed5e0
4
- data.tar.gz: c3f3d79bdb8f172af73e920ee452cb26edf0fa4e
3
+ metadata.gz: 24ea155d9007a4c02fb223ef654916c81ca40a8a
4
+ data.tar.gz: 67bf2a31432324f4d9dd1a4545c91d925df0ed95
5
5
  SHA512:
6
- metadata.gz: 9fa062b915278c8f56758f6ab63358df965f6174a97f32d7d3036a4c53764a7f3e8aedf7eae12ecb79f1bed014d4fc76e344731697a970de7175d3a5d558836a
7
- data.tar.gz: ff2bcd9376d0297e7a9a73ce3b1d1dbeb9b8e981ab2ff2aae053a58356d38f1565a01fcf0a6779e0378fdcc4ab6224d54ee6142baae211e3d7e07b40bc125fc0
6
+ metadata.gz: 97d41fd3815402be84700509fc51db7ff53ed392327c2168faf4fb5f8e389e0d5861b1d154b9ada63dd445410ca396a4beb7d7d804f473e6da393955175c8cc8
7
+ data.tar.gz: 9202f7626394eaf0b6af0fcb3c2cb202f6e507390b14a8b1d6f849b586f73cd1f715e73c4a9ddf72ac1c7c2c62aae8fe101434fd48ab54adac5f0ed7f7b9c15c
data/README CHANGED
@@ -62,6 +62,7 @@ There's basic test coverage. More comprehensive test coverage needs to be extrac
62
62
 
63
63
  Changes
64
64
  -------
65
+ 0.4.0 rchristensen: Add sheet argument to Table.read
65
66
  0.3.0 Revise Table creation methods to something sensible. Use Roo to read
66
67
  spreadsheets. Support for xlsx.
67
68
  0.2.7 Add Table#to_space_delimited for space-padded fixed layout
data/Rakefile CHANGED
@@ -1,21 +1,6 @@
1
1
  require 'rubygems'
2
2
  require 'rake'
3
3
 
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gemspec|
7
- gemspec.name = "tabular"
8
- gemspec.summary = "Read, write, and manipulate CSV, tab-delimited and Excel data"
9
- gemspec.description = "Tabular is a Ruby library for reading, writing, and manipulating CSV, tab-delimited and Excel data."
10
- gemspec.email = "scott.willson@gmail.cpm"
11
- gemspec.homepage = "http://github.com/scottwillson/tabular"
12
- gemspec.authors = ["Scott Willson"]
13
- end
14
- Jeweler::GemcutterTasks.new
15
- rescue LoadError
16
- puts "Jeweler not available. Install it with: sudo gem install jeweler"
17
- end
18
-
19
4
  require 'rake/testtask'
20
5
  Rake::TestTask.new(:test) do |test|
21
6
  test.libs << 'lib' << 'test'
@@ -13,7 +13,7 @@ module Tabular
13
13
 
14
14
  def self.read(file, options = {})
15
15
  table = Table.new
16
- table.read file, options[:as]
16
+ table.read file, options[:as], options[:sheet]
17
17
  table
18
18
  end
19
19
 
@@ -5,14 +5,17 @@ module Tabular
5
5
  # Assumes .txt = tab-delimited, .csv = CSV, .xls = Excel. Assumes first row is the header.
6
6
  # Normalizes column names to lower-case with underscores.
7
7
  # +format+ : :csv, :txt, or :xls
8
+ # +sheet+: integer, specifies the desired worksheet of an .xls/xlsx file, 0 by default.
8
9
  # Returns Array of Arrays
9
- def read(file, format = nil)
10
+ def read(file, format = nil, sheet = nil)
10
11
  file_path = to_file_path(file)
11
12
  format ||= format_from(format, file_path)
12
13
 
13
14
  self.rows = case format
14
15
  when :xls, :xlsx
15
- read_spreadsheet file_path, format
16
+ # Set to first sheet if undefined.
17
+ sheet ||= 0
18
+ read_spreadsheet file_path, format, sheet
16
19
  when :txt
17
20
  read_txt file_path
18
21
  when :csv
@@ -52,7 +55,7 @@ module Tabular
52
55
  file_path
53
56
  end
54
57
 
55
- def read_spreadsheet(file_path, format)
58
+ def read_spreadsheet(file_path, format, sheet)
56
59
  require "roo"
57
60
 
58
61
  if format == :xls
@@ -64,7 +67,7 @@ module Tabular
64
67
 
65
68
  # Row#to_a coerces Excel data to Strings, but we want Dates and Numbers
66
69
  data = []
67
- excel.sheet(0).each do |excel_row|
70
+ excel.sheet(sheet).each do |excel_row|
68
71
  data << excel_row.inject([]) { |row, cell| row << cell; row }
69
72
  end
70
73
  data
@@ -1,3 +1,3 @@
1
1
  module Tabular
2
- VERSION = "0.3.5"
2
+ VERSION = "0.4.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tabular
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Willson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-08 00:00:00.000000000 Z
11
+ date: 2015-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: roo
@@ -84,7 +84,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
84
84
  version: '0'
85
85
  requirements: []
86
86
  rubyforge_project:
87
- rubygems_version: 2.4.3
87
+ rubygems_version: 2.4.8
88
88
  signing_key:
89
89
  specification_version: 4
90
90
  summary: Read, write, and manipulate CSV, tab-delimited and Excel data