sheets 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml CHANGED
@@ -3,4 +3,5 @@ rvm:
3
3
  - 1.9.2
4
4
  - 1.9.3
5
5
  - ree
6
- - rbx
6
+ - rbx
7
+ - jruby
@@ -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
- # returns an array of strings containing the worksheet ids from the workbook
58
- def worksheet_ids
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 ||= worksheet_ids.collect {|sheet_id| Nokogiri::XML( zipfile.read("xl/worksheets/sheet#{sheet_id}.xml") ) }
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
@@ -1,3 +1,3 @@
1
1
  module Sheets
2
- VERSION = "1.1.0"
2
+ VERSION = "1.1.1"
3
3
  end
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
- prerelease: false
5
- segments:
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
- date: 2011-11-29 00:00:00 -05:00
18
- default_executable:
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
- prerelease: false
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
- requirements:
135
- - - ">="
136
- - !ruby/object:Gem::Version
137
- segments:
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
- version: "0"
140
- required_rubygems_version: !ruby/object:Gem::Requirement
141
- requirements:
142
- - - ">="
143
- - !ruby/object:Gem::Version
144
- segments:
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
- version: "0"
146
+ hash: -333247326234641115
147
147
  requirements: []
148
-
149
148
  rubyforge_project: sheets
150
- rubygems_version: 1.3.6
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 control. Any Spreadsheet can be represented as either (1) a two dimensional array, or (2) an array of hashes. Sheets' goal is to convert any spreadsheet format to one of these native Ruby data structures.
154
- test_files:
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