roo 2.3.0 → 2.10.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.
Files changed (95) hide show
  1. checksums.yaml +5 -5
  2. data/.codeclimate.yml +17 -0
  3. data/.github/issue_template.md +16 -0
  4. data/.github/pull_request_template.md +14 -0
  5. data/.github/workflows/pull-request.yml +15 -0
  6. data/.github/workflows/ruby.yml +34 -0
  7. data/.gitignore +4 -0
  8. data/.rubocop.yml +186 -0
  9. data/CHANGELOG.md +148 -0
  10. data/Gemfile +4 -4
  11. data/LICENSE +2 -0
  12. data/README.md +84 -27
  13. data/Rakefile +1 -1
  14. data/lib/roo/base.rb +111 -237
  15. data/lib/roo/constants.rb +5 -3
  16. data/lib/roo/csv.rb +106 -85
  17. data/lib/roo/errors.rb +2 -0
  18. data/lib/roo/excelx/cell/base.rb +26 -12
  19. data/lib/roo/excelx/cell/boolean.rb +9 -6
  20. data/lib/roo/excelx/cell/date.rb +7 -7
  21. data/lib/roo/excelx/cell/datetime.rb +50 -44
  22. data/lib/roo/excelx/cell/empty.rb +3 -2
  23. data/lib/roo/excelx/cell/number.rb +60 -47
  24. data/lib/roo/excelx/cell/string.rb +3 -3
  25. data/lib/roo/excelx/cell/time.rb +17 -16
  26. data/lib/roo/excelx/cell.rb +11 -7
  27. data/lib/roo/excelx/comments.rb +3 -3
  28. data/lib/roo/excelx/coordinate.rb +11 -4
  29. data/lib/roo/excelx/extractor.rb +20 -3
  30. data/lib/roo/excelx/format.rb +38 -31
  31. data/lib/roo/excelx/images.rb +26 -0
  32. data/lib/roo/excelx/relationships.rb +12 -4
  33. data/lib/roo/excelx/shared.rb +10 -3
  34. data/lib/roo/excelx/shared_strings.rb +113 -9
  35. data/lib/roo/excelx/sheet.rb +49 -10
  36. data/lib/roo/excelx/sheet_doc.rb +101 -48
  37. data/lib/roo/excelx/styles.rb +4 -4
  38. data/lib/roo/excelx/workbook.rb +8 -3
  39. data/lib/roo/excelx.rb +85 -42
  40. data/lib/roo/formatters/base.rb +15 -0
  41. data/lib/roo/formatters/csv.rb +84 -0
  42. data/lib/roo/formatters/matrix.rb +23 -0
  43. data/lib/roo/formatters/xml.rb +31 -0
  44. data/lib/roo/formatters/yaml.rb +40 -0
  45. data/lib/roo/helpers/default_attr_reader.rb +20 -0
  46. data/lib/roo/helpers/weak_instance_cache.rb +41 -0
  47. data/lib/roo/open_office.rb +41 -27
  48. data/lib/roo/spreadsheet.rb +8 -2
  49. data/lib/roo/tempdir.rb +24 -0
  50. data/lib/roo/utils.rb +76 -26
  51. data/lib/roo/version.rb +1 -1
  52. data/lib/roo.rb +5 -0
  53. data/roo.gemspec +22 -12
  54. data/spec/lib/roo/base_spec.rb +65 -3
  55. data/spec/lib/roo/csv_spec.rb +19 -0
  56. data/spec/lib/roo/excelx/cell/time_spec.rb +15 -0
  57. data/spec/lib/roo/excelx/relationships_spec.rb +43 -0
  58. data/spec/lib/roo/excelx/sheet_doc_spec.rb +11 -0
  59. data/spec/lib/roo/excelx_spec.rb +237 -5
  60. data/spec/lib/roo/openoffice_spec.rb +2 -2
  61. data/spec/lib/roo/spreadsheet_spec.rb +1 -1
  62. data/spec/lib/roo/strict_spec.rb +43 -0
  63. data/spec/lib/roo/utils_spec.rb +22 -9
  64. data/spec/lib/roo/weak_instance_cache_spec.rb +92 -0
  65. data/spec/lib/roo_spec.rb +0 -0
  66. data/spec/spec_helper.rb +2 -7
  67. data/test/excelx/cell/test_attr_reader_default.rb +72 -0
  68. data/test/excelx/cell/test_base.rb +6 -2
  69. data/test/excelx/cell/test_boolean.rb +1 -3
  70. data/test/excelx/cell/test_date.rb +1 -6
  71. data/test/excelx/cell/test_datetime.rb +7 -10
  72. data/test/excelx/cell/test_empty.rb +12 -2
  73. data/test/excelx/cell/test_number.rb +28 -4
  74. data/test/excelx/cell/test_string.rb +21 -3
  75. data/test/excelx/cell/test_time.rb +7 -10
  76. data/test/excelx/test_coordinate.rb +51 -0
  77. data/test/formatters/test_csv.rb +136 -0
  78. data/test/formatters/test_matrix.rb +76 -0
  79. data/test/formatters/test_xml.rb +78 -0
  80. data/test/formatters/test_yaml.rb +20 -0
  81. data/test/helpers/test_accessing_files.rb +81 -0
  82. data/test/helpers/test_comments.rb +43 -0
  83. data/test/helpers/test_formulas.rb +9 -0
  84. data/test/helpers/test_labels.rb +103 -0
  85. data/test/helpers/test_sheets.rb +55 -0
  86. data/test/helpers/test_styles.rb +62 -0
  87. data/test/roo/test_base.rb +182 -0
  88. data/test/roo/test_csv.rb +88 -0
  89. data/test/roo/test_excelx.rb +360 -0
  90. data/test/roo/test_libre_office.rb +9 -0
  91. data/test/roo/test_open_office.rb +289 -0
  92. data/test/test_helper.rb +129 -14
  93. data/test/test_roo.rb +60 -1765
  94. metadata +91 -21
  95. data/.travis.yml +0 -14
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roo
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.10.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Preymesser
@@ -9,10 +9,11 @@ authors:
9
9
  - Ben Woosley
10
10
  - Oleksandr Simonov
11
11
  - Steven Daniels
12
- autorequire:
12
+ - Anmol Chopra
13
+ autorequire:
13
14
  bindir: bin
14
15
  cert_chain: []
15
- date: 2015-12-10 00:00:00.000000000 Z
16
+ date: 2024-01-18 00:00:00.000000000 Z
16
17
  dependencies:
17
18
  - !ruby/object:Gem::Dependency
18
19
  name: nokogiri
@@ -32,36 +33,36 @@ dependencies:
32
33
  name: rubyzip
33
34
  requirement: !ruby/object:Gem::Requirement
34
35
  requirements:
35
- - - "~>"
36
+ - - ">="
36
37
  - !ruby/object:Gem::Version
37
- version: '1.1'
38
+ version: 1.3.0
38
39
  - - "<"
39
40
  - !ruby/object:Gem::Version
40
- version: 2.0.0
41
+ version: 3.0.0
41
42
  type: :runtime
42
43
  prerelease: false
43
44
  version_requirements: !ruby/object:Gem::Requirement
44
45
  requirements:
45
- - - "~>"
46
+ - - ">="
46
47
  - !ruby/object:Gem::Version
47
- version: '1.1'
48
+ version: 1.3.0
48
49
  - - "<"
49
50
  - !ruby/object:Gem::Version
50
- version: 2.0.0
51
+ version: 3.0.0
51
52
  - !ruby/object:Gem::Dependency
52
53
  name: rake
53
54
  requirement: !ruby/object:Gem::Requirement
54
55
  requirements:
55
- - - "~>"
56
+ - - ">="
56
57
  - !ruby/object:Gem::Version
57
- version: '10.1'
58
+ version: '0'
58
59
  type: :development
59
60
  prerelease: false
60
61
  version_requirements: !ruby/object:Gem::Requirement
61
62
  requirements:
62
- - - "~>"
63
+ - - ">="
63
64
  - !ruby/object:Gem::Version
64
- version: '10.1'
65
+ version: '0'
65
66
  - !ruby/object:Gem::Dependency
66
67
  name: minitest
67
68
  requirement: !ruby/object:Gem::Requirement
@@ -82,6 +83,40 @@ dependencies:
82
83
  - - ">="
83
84
  - !ruby/object:Gem::Version
84
85
  version: 5.4.3
86
+ - !ruby/object:Gem::Dependency
87
+ name: rack
88
+ requirement: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - "~>"
91
+ - !ruby/object:Gem::Version
92
+ version: '1.6'
93
+ - - "<"
94
+ - !ruby/object:Gem::Version
95
+ version: 2.0.0
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '1.6'
103
+ - - "<"
104
+ - !ruby/object:Gem::Version
105
+ version: 2.0.0
106
+ - !ruby/object:Gem::Dependency
107
+ name: matrix
108
+ requirement: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: '0'
113
+ type: :development
114
+ prerelease: false
115
+ version_requirements: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
85
120
  description: |-
86
121
  Roo can access the contents of various spreadsheet files. It can handle
87
122
  * OpenOffice
@@ -95,9 +130,14 @@ executables: []
95
130
  extensions: []
96
131
  extra_rdoc_files: []
97
132
  files:
133
+ - ".codeclimate.yml"
134
+ - ".github/issue_template.md"
135
+ - ".github/pull_request_template.md"
136
+ - ".github/workflows/pull-request.yml"
137
+ - ".github/workflows/ruby.yml"
98
138
  - ".gitignore"
139
+ - ".rubocop.yml"
99
140
  - ".simplecov"
100
- - ".travis.yml"
101
141
  - CHANGELOG.md
102
142
  - Gemfile
103
143
  - Guardfile
@@ -126,6 +166,7 @@ files:
126
166
  - lib/roo/excelx/coordinate.rb
127
167
  - lib/roo/excelx/extractor.rb
128
168
  - lib/roo/excelx/format.rb
169
+ - lib/roo/excelx/images.rb
129
170
  - lib/roo/excelx/relationships.rb
130
171
  - lib/roo/excelx/shared.rb
131
172
  - lib/roo/excelx/shared_strings.rb
@@ -134,10 +175,18 @@ files:
134
175
  - lib/roo/excelx/styles.rb
135
176
  - lib/roo/excelx/workbook.rb
136
177
  - lib/roo/font.rb
178
+ - lib/roo/formatters/base.rb
179
+ - lib/roo/formatters/csv.rb
180
+ - lib/roo/formatters/matrix.rb
181
+ - lib/roo/formatters/xml.rb
182
+ - lib/roo/formatters/yaml.rb
183
+ - lib/roo/helpers/default_attr_reader.rb
184
+ - lib/roo/helpers/weak_instance_cache.rb
137
185
  - lib/roo/libre_office.rb
138
186
  - lib/roo/link.rb
139
187
  - lib/roo/open_office.rb
140
188
  - lib/roo/spreadsheet.rb
189
+ - lib/roo/tempdir.rb
141
190
  - lib/roo/utils.rb
142
191
  - lib/roo/version.rb
143
192
  - roo.gemspec
@@ -147,14 +196,21 @@ files:
147
196
  - spec/helpers.rb
148
197
  - spec/lib/roo/base_spec.rb
149
198
  - spec/lib/roo/csv_spec.rb
199
+ - spec/lib/roo/excelx/cell/time_spec.rb
150
200
  - spec/lib/roo/excelx/format_spec.rb
201
+ - spec/lib/roo/excelx/relationships_spec.rb
202
+ - spec/lib/roo/excelx/sheet_doc_spec.rb
151
203
  - spec/lib/roo/excelx_spec.rb
152
204
  - spec/lib/roo/libreoffice_spec.rb
153
205
  - spec/lib/roo/openoffice_spec.rb
154
206
  - spec/lib/roo/spreadsheet_spec.rb
207
+ - spec/lib/roo/strict_spec.rb
155
208
  - spec/lib/roo/utils_spec.rb
209
+ - spec/lib/roo/weak_instance_cache_spec.rb
210
+ - spec/lib/roo_spec.rb
156
211
  - spec/spec_helper.rb
157
212
  - test/all_ss.rb
213
+ - test/excelx/cell/test_attr_reader_default.rb
158
214
  - test/excelx/cell/test_base.rb
159
215
  - test/excelx/cell/test_boolean.rb
160
216
  - test/excelx/cell/test_date.rb
@@ -163,13 +219,29 @@ files:
163
219
  - test/excelx/cell/test_number.rb
164
220
  - test/excelx/cell/test_string.rb
165
221
  - test/excelx/cell/test_time.rb
222
+ - test/excelx/test_coordinate.rb
223
+ - test/formatters/test_csv.rb
224
+ - test/formatters/test_matrix.rb
225
+ - test/formatters/test_xml.rb
226
+ - test/formatters/test_yaml.rb
227
+ - test/helpers/test_accessing_files.rb
228
+ - test/helpers/test_comments.rb
229
+ - test/helpers/test_formulas.rb
230
+ - test/helpers/test_labels.rb
231
+ - test/helpers/test_sheets.rb
232
+ - test/helpers/test_styles.rb
233
+ - test/roo/test_base.rb
234
+ - test/roo/test_csv.rb
235
+ - test/roo/test_excelx.rb
236
+ - test/roo/test_libre_office.rb
237
+ - test/roo/test_open_office.rb
166
238
  - test/test_helper.rb
167
239
  - test/test_roo.rb
168
- homepage: http://github.com/roo-rb/roo
240
+ homepage: https://github.com/roo-rb/roo
169
241
  licenses:
170
242
  - MIT
171
243
  metadata: {}
172
- post_install_message:
244
+ post_install_message:
173
245
  rdoc_options: []
174
246
  require_paths:
175
247
  - lib
@@ -177,17 +249,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
177
249
  requirements:
178
250
  - - ">="
179
251
  - !ruby/object:Gem::Version
180
- version: '0'
252
+ version: 2.7.0
181
253
  required_rubygems_version: !ruby/object:Gem::Requirement
182
254
  requirements:
183
255
  - - ">="
184
256
  - !ruby/object:Gem::Version
185
257
  version: '0'
186
258
  requirements: []
187
- rubyforge_project:
188
- rubygems_version: 2.4.5
189
- signing_key:
259
+ rubygems_version: 3.3.26
260
+ signing_key:
190
261
  specification_version: 4
191
262
  summary: Roo can access the contents of various spreadsheet files.
192
263
  test_files: []
193
- has_rdoc:
data/.travis.yml DELETED
@@ -1,14 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.0.0
4
- - 2.1
5
- - 2.2.0
6
- - ruby-head
7
- - jruby-19mode # JRuby in 1.9 mode
8
- - rbx-2
9
- matrix:
10
- allow_failures:
11
- - rvm: ruby-head
12
- - rvm: jruby-19mode
13
- - rvm: rbx-2
14
- bundler_args: --without local_development