sheets 1.1.0 → 1.1.1
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.
data/.travis.yml
CHANGED
@@ -54,14 +54,13 @@ class Sheets::Parsers::NokogiriXlsxParser < Sheets::Parsers::Base
|
|
54
54
|
@shared_strings ||= Nokogiri::XML( zipfile.read("xl/sharedStrings.xml") ).css('si>t').collect(&:text)
|
55
55
|
end
|
56
56
|
|
57
|
-
|
58
|
-
|
59
|
-
@sheet_ids ||= workbook.css('sheets>sheet').collect {|sheet| sheet.attribute('sheetId').value }
|
57
|
+
def number_of_worksheets
|
58
|
+
@number_of_worksheets ||= workbook.css("sheets > sheet").size
|
60
59
|
end
|
61
60
|
|
62
61
|
# returns an array of nokogiri documents for each worksheet
|
63
62
|
def worksheets
|
64
|
-
@worksheets ||=
|
63
|
+
@worksheets ||= (1..number_of_worksheets).collect { |n| Nokogiri::XML(zipfile.read("xl/worksheets/sheet#{n}.xml")) }
|
65
64
|
end
|
66
65
|
|
67
66
|
# returns a date object representing the start of the serial date system for this sheet
|
@@ -76,4 +75,4 @@ class Sheets::Parsers::NokogiriXlsxParser < Sheets::Parsers::Base
|
|
76
75
|
end
|
77
76
|
end.call
|
78
77
|
end
|
79
|
-
end
|
78
|
+
end
|
data/lib/sheets/version.rb
CHANGED
Binary file
|
@@ -0,0 +1,10 @@
|
|
1
|
+
class TestNokogiriXlsxParser < Test::Unit::TestCase
|
2
|
+
def setup
|
3
|
+
file_path = File.expand_path("../../data/reordered_workbooks.xlsx", __FILE__)
|
4
|
+
@sheet = Sheets::Parsers::NokogiriXlsxParser.new(File.read(file_path), :xlsx, file_path)
|
5
|
+
end
|
6
|
+
|
7
|
+
def test_does_not_raise_error_when_second_workbook_has_id_of_3
|
8
|
+
assert_nothing_raised { @sheet.to_array }
|
9
|
+
end
|
10
|
+
end
|
metadata
CHANGED
@@ -1,90 +1,87 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: sheets
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
- 1
|
7
|
-
- 1
|
8
|
-
- 0
|
9
|
-
version: 1.1.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.1.1
|
5
|
+
prerelease:
|
10
6
|
platform: ruby
|
11
|
-
authors:
|
7
|
+
authors:
|
12
8
|
- Bradley J. Spaulding
|
13
9
|
autorequire:
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
dependencies:
|
20
|
-
- !ruby/object:Gem::Dependency
|
21
|
-
version_requirements: &id001 !ruby/object:Gem::Requirement
|
22
|
-
requirements:
|
23
|
-
- - ">="
|
24
|
-
- !ruby/object:Gem::Version
|
25
|
-
segments:
|
26
|
-
- 0
|
27
|
-
- 6
|
28
|
-
- 5
|
29
|
-
- 2
|
30
|
-
version: 0.6.5.2
|
31
|
-
requirement: *id001
|
12
|
+
date: 2012-10-03 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
32
15
|
name: spreadsheet
|
33
|
-
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 0.6.5.2
|
34
22
|
type: :runtime
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
version_requirements: &id002 !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
segments:
|
41
|
-
- 0
|
42
|
-
- 9
|
43
|
-
- 4
|
44
|
-
version: 0.9.4
|
45
|
-
requirement: *id002
|
46
|
-
name: rubyzip
|
47
23
|
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 0.6.5.2
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rubyzip
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 0.9.4
|
48
38
|
type: :runtime
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
version_requirements: &id003 !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
segments:
|
55
|
-
- 1
|
56
|
-
- 4
|
57
|
-
- 3
|
58
|
-
- 1
|
59
|
-
version: 1.4.3.1
|
60
|
-
requirement: *id003
|
61
|
-
name: nokogiri
|
62
39
|
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 0.9.4
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: nokogiri
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 1.4.3.1
|
63
54
|
type: :runtime
|
64
|
-
- !ruby/object:Gem::Dependency
|
65
|
-
version_requirements: &id004 !ruby/object:Gem::Requirement
|
66
|
-
requirements:
|
67
|
-
- - "="
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
segments:
|
70
|
-
- 0
|
71
|
-
- 9
|
72
|
-
- 2
|
73
|
-
version: 0.9.2
|
74
|
-
requirement: *id004
|
75
|
-
name: rake
|
76
55
|
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.4.3.1
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: rake
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - '='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 0.9.2
|
77
70
|
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - '='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 0.9.2
|
78
78
|
description: Work with spreadsheets easily in a native ruby format.
|
79
|
-
email:
|
79
|
+
email:
|
80
80
|
- brad.spaulding@gmail.com
|
81
81
|
executables: []
|
82
|
-
|
83
82
|
extensions: []
|
84
|
-
|
85
83
|
extra_rdoc_files: []
|
86
|
-
|
87
|
-
files:
|
84
|
+
files:
|
88
85
|
- .gitignore
|
89
86
|
- .travis.yml
|
90
87
|
- Gemfile
|
@@ -106,6 +103,7 @@ files:
|
|
106
103
|
- lib/sheets/version.rb
|
107
104
|
- sheets.gemspec
|
108
105
|
- test/base_test.rb
|
106
|
+
- test/data/reordered_workbooks.xlsx
|
109
107
|
- test/data/roo_issue_28885_test.xlsx
|
110
108
|
- test/data/simple.csv
|
111
109
|
- test/data/simple.ods
|
@@ -115,44 +113,49 @@ files:
|
|
115
113
|
- test/parseable_test.rb
|
116
114
|
- test/parsers/basic_parsers_test.rb
|
117
115
|
- test/parsers/csv_parser_test.rb
|
116
|
+
- test/parsers/nokogiri_xlsx_parser_test.rb
|
118
117
|
- test/renderable_test.rb
|
119
118
|
- test/renderers/basic_renderers_test.rb
|
120
119
|
- test/renderers/csv_renderer_test.rb
|
121
120
|
- test/renderers/excel_renderer_test.rb
|
122
121
|
- test/results.json
|
123
122
|
- test/test_helper.rb
|
124
|
-
has_rdoc: true
|
125
123
|
homepage: https://github.com/bspaulding/Sheets
|
126
124
|
licenses: []
|
127
|
-
|
128
125
|
post_install_message:
|
129
126
|
rdoc_options: []
|
130
|
-
|
131
|
-
require_paths:
|
127
|
+
require_paths:
|
132
128
|
- lib
|
133
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
129
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
130
|
+
none: false
|
131
|
+
requirements:
|
132
|
+
- - ! '>='
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: '0'
|
135
|
+
segments:
|
138
136
|
- 0
|
139
|
-
|
140
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
137
|
+
hash: -333247326234641115
|
138
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
139
|
+
none: false
|
140
|
+
requirements:
|
141
|
+
- - ! '>='
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: '0'
|
144
|
+
segments:
|
145
145
|
- 0
|
146
|
-
|
146
|
+
hash: -333247326234641115
|
147
147
|
requirements: []
|
148
|
-
|
149
148
|
rubyforge_project: sheets
|
150
|
-
rubygems_version: 1.
|
149
|
+
rubygems_version: 1.8.24
|
151
150
|
signing_key:
|
152
151
|
specification_version: 3
|
153
|
-
summary: Sheets provides a Facade for importing spreadsheets that gives the application
|
154
|
-
|
152
|
+
summary: Sheets provides a Facade for importing spreadsheets that gives the application
|
153
|
+
control. Any Spreadsheet can be represented as either (1) a two dimensional array,
|
154
|
+
or (2) an array of hashes. Sheets' goal is to convert any spreadsheet format to
|
155
|
+
one of these native Ruby data structures.
|
156
|
+
test_files:
|
155
157
|
- test/base_test.rb
|
158
|
+
- test/data/reordered_workbooks.xlsx
|
156
159
|
- test/data/roo_issue_28885_test.xlsx
|
157
160
|
- test/data/simple.csv
|
158
161
|
- test/data/simple.ods
|
@@ -162,6 +165,7 @@ test_files:
|
|
162
165
|
- test/parseable_test.rb
|
163
166
|
- test/parsers/basic_parsers_test.rb
|
164
167
|
- test/parsers/csv_parser_test.rb
|
168
|
+
- test/parsers/nokogiri_xlsx_parser_test.rb
|
165
169
|
- test/renderable_test.rb
|
166
170
|
- test/renderers/basic_renderers_test.rb
|
167
171
|
- test/renderers/csv_renderer_test.rb
|