roo 2.7.1 → 2.8.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 +5 -5
- data/.github/issue_template.md +16 -0
- data/.github/pull_request_template.md +14 -0
- data/.rubocop.yml +186 -0
- data/.travis.yml +12 -7
- data/CHANGELOG.md +31 -2
- data/LICENSE +2 -0
- data/README.md +25 -12
- data/lib/roo.rb +4 -1
- data/lib/roo/base.rb +65 -56
- data/lib/roo/constants.rb +5 -3
- data/lib/roo/csv.rb +20 -12
- data/lib/roo/excelx.rb +42 -16
- data/lib/roo/excelx/cell.rb +10 -6
- data/lib/roo/excelx/cell/base.rb +26 -12
- data/lib/roo/excelx/cell/boolean.rb +9 -6
- data/lib/roo/excelx/cell/date.rb +7 -7
- data/lib/roo/excelx/cell/datetime.rb +14 -18
- data/lib/roo/excelx/cell/empty.rb +3 -2
- data/lib/roo/excelx/cell/number.rb +35 -34
- data/lib/roo/excelx/cell/string.rb +3 -3
- data/lib/roo/excelx/cell/time.rb +4 -3
- data/lib/roo/excelx/comments.rb +3 -3
- data/lib/roo/excelx/coordinate.rb +11 -4
- data/lib/roo/excelx/extractor.rb +21 -3
- data/lib/roo/excelx/format.rb +38 -31
- data/lib/roo/excelx/images.rb +26 -0
- data/lib/roo/excelx/relationships.rb +3 -3
- data/lib/roo/excelx/shared.rb +10 -3
- data/lib/roo/excelx/shared_strings.rb +9 -15
- data/lib/roo/excelx/sheet.rb +49 -10
- data/lib/roo/excelx/sheet_doc.rb +86 -48
- data/lib/roo/excelx/styles.rb +3 -3
- data/lib/roo/excelx/workbook.rb +7 -3
- data/lib/roo/helpers/default_attr_reader.rb +20 -0
- data/lib/roo/helpers/weak_instance_cache.rb +41 -0
- data/lib/roo/open_office.rb +8 -6
- data/lib/roo/spreadsheet.rb +1 -1
- data/lib/roo/utils.rb +48 -19
- data/lib/roo/version.rb +1 -1
- data/roo.gemspec +13 -11
- data/spec/lib/roo/base_spec.rb +45 -3
- data/spec/lib/roo/excelx_spec.rb +125 -31
- data/spec/lib/roo/strict_spec.rb +43 -0
- data/spec/lib/roo/utils_spec.rb +12 -3
- data/spec/lib/roo/weak_instance_cache_spec.rb +92 -0
- data/spec/lib/roo_spec.rb +0 -0
- data/test/excelx/cell/test_attr_reader_default.rb +72 -0
- data/test/excelx/cell/test_base.rb +5 -0
- data/test/excelx/cell/test_datetime.rb +6 -6
- data/test/excelx/cell/test_empty.rb +11 -0
- data/test/excelx/cell/test_number.rb +9 -0
- data/test/excelx/cell/test_string.rb +20 -0
- data/test/excelx/cell/test_time.rb +4 -4
- data/test/excelx/test_coordinate.rb +51 -0
- data/test/formatters/test_csv.rb +17 -0
- data/test/formatters/test_xml.rb +4 -4
- data/test/roo/test_base.rb +2 -2
- data/test/roo/test_csv.rb +28 -0
- data/test/test_helper.rb +13 -0
- data/test/test_roo.rb +7 -7
- metadata +21 -11
- data/.github/ISSUE_TEMPLATE +0 -10
- data/Gemfile_ruby2 +0 -30
data/test/test_helper.rb
CHANGED
@@ -154,3 +154,16 @@ def skip_jruby_incompatible_test
|
|
154
154
|
msg = "This test uses a feature incompatible with JRuby"
|
155
155
|
skip(msg) if defined?(JRUBY_VERSION)
|
156
156
|
end
|
157
|
+
|
158
|
+
def with_timezone(new_tz)
|
159
|
+
if new_tz
|
160
|
+
begin
|
161
|
+
prev_tz, ENV['TZ'] = ENV['TZ'], new_tz
|
162
|
+
yield
|
163
|
+
ensure
|
164
|
+
ENV['TZ'] = prev_tz
|
165
|
+
end
|
166
|
+
else
|
167
|
+
yield
|
168
|
+
end
|
169
|
+
end
|
data/test/test_roo.rb
CHANGED
@@ -339,21 +339,21 @@ class TestRoo < Minitest::Test
|
|
339
339
|
|
340
340
|
# compare large spreadsheets
|
341
341
|
def test_compare_large_spreadsheets
|
342
|
-
# problematisch, weil Formeln in Excel nicht unterstützt werden
|
343
342
|
skip_long_test
|
344
|
-
qq = Roo::OpenOffice.new(File.join('test',"Bibelbund.ods"))
|
345
|
-
with_each_spreadsheet(:
|
346
|
-
# p "comparing Bibelbund.ods with #{oo.class}"
|
343
|
+
qq = Roo::OpenOffice.new(File.join('test', 'files', "Bibelbund.ods"))
|
344
|
+
with_each_spreadsheet(name: 'Bibelbund') do |oo|
|
347
345
|
oo.sheets.each do |sh|
|
348
346
|
oo.first_row.upto(oo.last_row) do |row|
|
349
347
|
oo.first_column.upto(oo.last_column) do |col|
|
350
|
-
c1 = qq.cell(row,col,sh)
|
348
|
+
c1 = qq.cell(row, col, sh)
|
351
349
|
c1.force_encoding("UTF-8") if c1.class == String
|
352
350
|
c2 = oo.cell(row,col,sh)
|
353
351
|
c2.force_encoding("UTF-8") if c2.class == String
|
352
|
+
next if c1.nil? && c2.nil?
|
353
|
+
|
354
354
|
assert_equal c1, c2, "diff in #{sh}/#{row}/#{col}}"
|
355
|
-
assert_equal qq.celltype(row,col,sh), oo.celltype(row,col,sh)
|
356
|
-
assert_equal qq.formula?(row,col,sh), oo.formula?(row,col,sh)
|
355
|
+
assert_equal qq.celltype(row, col, sh), oo.celltype(row, col, sh)
|
356
|
+
assert_equal qq.formula?(row, col, sh), oo.formula?(row, col, sh)
|
357
357
|
end
|
358
358
|
end
|
359
359
|
end
|
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.
|
4
|
+
version: 2.8.0
|
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
|
+
- Anmol Chopra
|
12
13
|
autorequire:
|
13
14
|
bindir: bin
|
14
15
|
cert_chain: []
|
15
|
-
date:
|
16
|
+
date: 2019-01-18 00:00:00.000000000 Z
|
16
17
|
dependencies:
|
17
18
|
- !ruby/object:Gem::Dependency
|
18
19
|
name: nokogiri
|
@@ -32,9 +33,9 @@ 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:
|
38
|
+
version: 1.2.1
|
38
39
|
- - "<"
|
39
40
|
- !ruby/object:Gem::Version
|
40
41
|
version: 2.0.0
|
@@ -42,9 +43,9 @@ dependencies:
|
|
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:
|
48
|
+
version: 1.2.1
|
48
49
|
- - "<"
|
49
50
|
- !ruby/object:Gem::Version
|
50
51
|
version: 2.0.0
|
@@ -116,13 +117,14 @@ extensions: []
|
|
116
117
|
extra_rdoc_files: []
|
117
118
|
files:
|
118
119
|
- ".codeclimate.yml"
|
119
|
-
- ".github/
|
120
|
+
- ".github/issue_template.md"
|
121
|
+
- ".github/pull_request_template.md"
|
120
122
|
- ".gitignore"
|
123
|
+
- ".rubocop.yml"
|
121
124
|
- ".simplecov"
|
122
125
|
- ".travis.yml"
|
123
126
|
- CHANGELOG.md
|
124
127
|
- Gemfile
|
125
|
-
- Gemfile_ruby2
|
126
128
|
- Guardfile
|
127
129
|
- LICENSE
|
128
130
|
- README.md
|
@@ -149,6 +151,7 @@ files:
|
|
149
151
|
- lib/roo/excelx/coordinate.rb
|
150
152
|
- lib/roo/excelx/extractor.rb
|
151
153
|
- lib/roo/excelx/format.rb
|
154
|
+
- lib/roo/excelx/images.rb
|
152
155
|
- lib/roo/excelx/relationships.rb
|
153
156
|
- lib/roo/excelx/shared.rb
|
154
157
|
- lib/roo/excelx/shared_strings.rb
|
@@ -162,6 +165,8 @@ files:
|
|
162
165
|
- lib/roo/formatters/matrix.rb
|
163
166
|
- lib/roo/formatters/xml.rb
|
164
167
|
- lib/roo/formatters/yaml.rb
|
168
|
+
- lib/roo/helpers/default_attr_reader.rb
|
169
|
+
- lib/roo/helpers/weak_instance_cache.rb
|
165
170
|
- lib/roo/libre_office.rb
|
166
171
|
- lib/roo/link.rb
|
167
172
|
- lib/roo/open_office.rb
|
@@ -181,9 +186,13 @@ files:
|
|
181
186
|
- spec/lib/roo/libreoffice_spec.rb
|
182
187
|
- spec/lib/roo/openoffice_spec.rb
|
183
188
|
- spec/lib/roo/spreadsheet_spec.rb
|
189
|
+
- spec/lib/roo/strict_spec.rb
|
184
190
|
- spec/lib/roo/utils_spec.rb
|
191
|
+
- spec/lib/roo/weak_instance_cache_spec.rb
|
192
|
+
- spec/lib/roo_spec.rb
|
185
193
|
- spec/spec_helper.rb
|
186
194
|
- test/all_ss.rb
|
195
|
+
- test/excelx/cell/test_attr_reader_default.rb
|
187
196
|
- test/excelx/cell/test_base.rb
|
188
197
|
- test/excelx/cell/test_boolean.rb
|
189
198
|
- test/excelx/cell/test_date.rb
|
@@ -192,6 +201,7 @@ files:
|
|
192
201
|
- test/excelx/cell/test_number.rb
|
193
202
|
- test/excelx/cell/test_string.rb
|
194
203
|
- test/excelx/cell/test_time.rb
|
204
|
+
- test/excelx/test_coordinate.rb
|
195
205
|
- test/formatters/test_csv.rb
|
196
206
|
- test/formatters/test_matrix.rb
|
197
207
|
- test/formatters/test_xml.rb
|
@@ -209,7 +219,7 @@ files:
|
|
209
219
|
- test/roo/test_open_office.rb
|
210
220
|
- test/test_helper.rb
|
211
221
|
- test/test_roo.rb
|
212
|
-
homepage:
|
222
|
+
homepage: https://github.com/roo-rb/roo
|
213
223
|
licenses:
|
214
224
|
- MIT
|
215
225
|
metadata: {}
|
@@ -221,7 +231,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
221
231
|
requirements:
|
222
232
|
- - ">="
|
223
233
|
- !ruby/object:Gem::Version
|
224
|
-
version:
|
234
|
+
version: 2.3.0
|
225
235
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
226
236
|
requirements:
|
227
237
|
- - ">="
|
@@ -229,7 +239,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
229
239
|
version: '0'
|
230
240
|
requirements: []
|
231
241
|
rubyforge_project:
|
232
|
-
rubygems_version: 2.
|
242
|
+
rubygems_version: 2.7.7
|
233
243
|
signing_key:
|
234
244
|
specification_version: 4
|
235
245
|
summary: Roo can access the contents of various spreadsheet files.
|
data/.github/ISSUE_TEMPLATE
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
Thanks for filing an issue. Following these instructions will help us solve your problem sooner.
|
2
|
-
|
3
|
-
1. Describe the issue.
|
4
|
-
2. Create a gist for this issue (Sample gist: https://gist.github.com/stevendaniels/98a05849036e99bb8b3c)?
|
5
|
-
|
6
|
-
Here are some instructions for creating such a gist.
|
7
|
-
|
8
|
-
1. Create a gist (https://gist.github.com) with code that creates the error.
|
9
|
-
2. Clone the gist repo locally, add a stripped down version of the offending spreadsheet to the gist repo, and push the gist's changes master.
|
10
|
-
3. Paste the gist url here.
|
data/Gemfile_ruby2
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
source 'https://rubygems.org'
|
2
|
-
|
3
|
-
gemspec
|
4
|
-
|
5
|
-
gem 'nokogiri', "< 1.7.0"
|
6
|
-
|
7
|
-
group :test do
|
8
|
-
# additional testing libs
|
9
|
-
gem 'shoulda'
|
10
|
-
gem 'rspec', '>= 3.0.0'
|
11
|
-
gem 'simplecov', '>= 0.9.0', require: false
|
12
|
-
gem 'coveralls', require: false
|
13
|
-
gem "activesupport", "~> 4.2.0"
|
14
|
-
gem "tins", '~> 1.6.0'
|
15
|
-
gem "term-ansicolor", "~> 1.3.2"
|
16
|
-
gem "minitest-reporters"
|
17
|
-
end
|
18
|
-
|
19
|
-
group :local_development do
|
20
|
-
gem "listen", "~> 3.0.6"
|
21
|
-
gem 'terminal-notifier-guard', require: false if RUBY_PLATFORM.downcase.include?('darwin')
|
22
|
-
gem 'guard-rspec', '>= 4.3.1', require: false
|
23
|
-
gem 'guard-minitest', require: false
|
24
|
-
gem 'guard-bundler', require: false
|
25
|
-
gem 'guard-preek', require: false
|
26
|
-
gem 'guard-rubocop', require: false
|
27
|
-
gem 'guard-reek', github: 'pericles/guard-reek', require: false
|
28
|
-
gem 'rb-readline'
|
29
|
-
gem 'pry'
|
30
|
-
end
|