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.
- checksums.yaml +5 -5
- data/.codeclimate.yml +17 -0
- data/.github/issue_template.md +16 -0
- data/.github/pull_request_template.md +14 -0
- data/.github/workflows/pull-request.yml +15 -0
- data/.github/workflows/ruby.yml +34 -0
- data/.gitignore +4 -0
- data/.rubocop.yml +186 -0
- data/CHANGELOG.md +148 -0
- data/Gemfile +4 -4
- data/LICENSE +2 -0
- data/README.md +84 -27
- data/Rakefile +1 -1
- data/lib/roo/base.rb +111 -237
- data/lib/roo/constants.rb +5 -3
- data/lib/roo/csv.rb +106 -85
- data/lib/roo/errors.rb +2 -0
- 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 +50 -44
- data/lib/roo/excelx/cell/empty.rb +3 -2
- data/lib/roo/excelx/cell/number.rb +60 -47
- data/lib/roo/excelx/cell/string.rb +3 -3
- data/lib/roo/excelx/cell/time.rb +17 -16
- data/lib/roo/excelx/cell.rb +11 -7
- data/lib/roo/excelx/comments.rb +3 -3
- data/lib/roo/excelx/coordinate.rb +11 -4
- data/lib/roo/excelx/extractor.rb +20 -3
- data/lib/roo/excelx/format.rb +38 -31
- data/lib/roo/excelx/images.rb +26 -0
- data/lib/roo/excelx/relationships.rb +12 -4
- data/lib/roo/excelx/shared.rb +10 -3
- data/lib/roo/excelx/shared_strings.rb +113 -9
- data/lib/roo/excelx/sheet.rb +49 -10
- data/lib/roo/excelx/sheet_doc.rb +101 -48
- data/lib/roo/excelx/styles.rb +4 -4
- data/lib/roo/excelx/workbook.rb +8 -3
- data/lib/roo/excelx.rb +85 -42
- data/lib/roo/formatters/base.rb +15 -0
- data/lib/roo/formatters/csv.rb +84 -0
- data/lib/roo/formatters/matrix.rb +23 -0
- data/lib/roo/formatters/xml.rb +31 -0
- data/lib/roo/formatters/yaml.rb +40 -0
- 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 +41 -27
- data/lib/roo/spreadsheet.rb +8 -2
- data/lib/roo/tempdir.rb +24 -0
- data/lib/roo/utils.rb +76 -26
- data/lib/roo/version.rb +1 -1
- data/lib/roo.rb +5 -0
- data/roo.gemspec +22 -12
- data/spec/lib/roo/base_spec.rb +65 -3
- data/spec/lib/roo/csv_spec.rb +19 -0
- data/spec/lib/roo/excelx/cell/time_spec.rb +15 -0
- data/spec/lib/roo/excelx/relationships_spec.rb +43 -0
- data/spec/lib/roo/excelx/sheet_doc_spec.rb +11 -0
- data/spec/lib/roo/excelx_spec.rb +237 -5
- data/spec/lib/roo/openoffice_spec.rb +2 -2
- data/spec/lib/roo/spreadsheet_spec.rb +1 -1
- data/spec/lib/roo/strict_spec.rb +43 -0
- data/spec/lib/roo/utils_spec.rb +22 -9
- data/spec/lib/roo/weak_instance_cache_spec.rb +92 -0
- data/spec/lib/roo_spec.rb +0 -0
- data/spec/spec_helper.rb +2 -7
- data/test/excelx/cell/test_attr_reader_default.rb +72 -0
- data/test/excelx/cell/test_base.rb +6 -2
- data/test/excelx/cell/test_boolean.rb +1 -3
- data/test/excelx/cell/test_date.rb +1 -6
- data/test/excelx/cell/test_datetime.rb +7 -10
- data/test/excelx/cell/test_empty.rb +12 -2
- data/test/excelx/cell/test_number.rb +28 -4
- data/test/excelx/cell/test_string.rb +21 -3
- data/test/excelx/cell/test_time.rb +7 -10
- data/test/excelx/test_coordinate.rb +51 -0
- data/test/formatters/test_csv.rb +136 -0
- data/test/formatters/test_matrix.rb +76 -0
- data/test/formatters/test_xml.rb +78 -0
- data/test/formatters/test_yaml.rb +20 -0
- data/test/helpers/test_accessing_files.rb +81 -0
- data/test/helpers/test_comments.rb +43 -0
- data/test/helpers/test_formulas.rb +9 -0
- data/test/helpers/test_labels.rb +103 -0
- data/test/helpers/test_sheets.rb +55 -0
- data/test/helpers/test_styles.rb +62 -0
- data/test/roo/test_base.rb +182 -0
- data/test/roo/test_csv.rb +88 -0
- data/test/roo/test_excelx.rb +360 -0
- data/test/roo/test_libre_office.rb +9 -0
- data/test/roo/test_open_office.rb +289 -0
- data/test/test_helper.rb +129 -14
- data/test/test_roo.rb +60 -1765
- metadata +91 -21
- data/.travis.yml +0 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: cd6f8267a04fcec20134f5170360fdd0259369b0c8b319100d0304c95964a6f5
|
4
|
+
data.tar.gz: 6e33716242265c9c02a7cc42b22690f03114cf12bcbbe846055040fede3cd790
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 65dd59afe1dfda800c7e88547f305dbd1eb295c5715fd23dc5123618307205ae1a0c0740511739d2880b4d91cabca10fad152d522cca96a2694f8e3c1cccbd39
|
7
|
+
data.tar.gz: 9d239b22ee226fc3466d2445127dc2c4fc50c488249171b0b86dc17a4a41779e543e83ed3def1fe9fae26ddc67608a81733483e3757b32156d822abdbf2bc974
|
data/.codeclimate.yml
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
Thanks for filing an issue. Following these instructions will help us solve your problem sooner.
|
2
|
+
|
3
|
+
### Steps to reproduce
|
4
|
+
|
5
|
+
1. Create an executable test case for this issue ([sample test case](https://gist.github.com/tgturner/e4b7f491639b8a6dd883fe2ace408652))
|
6
|
+
2. You can share your executable test case as a [gist](https://gist.github.com), or simply paste the content into the issue description.
|
7
|
+
- You can execute the test case by running `ruby the_file.rb` in your terminal. If all goes well, you should see your test case failing.
|
8
|
+
3. Please provide a stripped down version of the offending spreadsheet.
|
9
|
+
|
10
|
+
### Issue
|
11
|
+
Describe the issue
|
12
|
+
|
13
|
+
### System configuration
|
14
|
+
**Roo version**:
|
15
|
+
|
16
|
+
**Ruby version**:
|
@@ -0,0 +1,14 @@
|
|
1
|
+
### Summary
|
2
|
+
|
3
|
+
Provide a general description of the code changes in your pull
|
4
|
+
request... were there any bugs you had fixed? If so, mention them. If
|
5
|
+
these bugs have open GitHub issues, be sure to tag them here as well,
|
6
|
+
to keep the conversation linked together.
|
7
|
+
|
8
|
+
### Other Information
|
9
|
+
|
10
|
+
If there's anything else that's important and relevant to your pull
|
11
|
+
request, mention that information here. This could include
|
12
|
+
benchmarks, or other information.
|
13
|
+
|
14
|
+
Thanks for contributing to Roo!
|
@@ -0,0 +1,15 @@
|
|
1
|
+
name: Changelog
|
2
|
+
|
3
|
+
on:
|
4
|
+
pull_request:
|
5
|
+
types: [opened, synchronize, reopened, ready_for_review, labeled, unlabeled]
|
6
|
+
|
7
|
+
jobs:
|
8
|
+
changelog:
|
9
|
+
runs-on: ubuntu-latest
|
10
|
+
steps:
|
11
|
+
- uses: actions/checkout@v2
|
12
|
+
- uses: amoniacou/changelog-enforcer@v1.4.0
|
13
|
+
with:
|
14
|
+
changeLogPath: 'CHANGELOG.md'
|
15
|
+
skipLabel: 'Skip-Changelog'
|
@@ -0,0 +1,34 @@
|
|
1
|
+
name: Ruby
|
2
|
+
on:
|
3
|
+
push:
|
4
|
+
branches:
|
5
|
+
- master
|
6
|
+
pull_request:
|
7
|
+
branches:
|
8
|
+
- master
|
9
|
+
jobs:
|
10
|
+
build:
|
11
|
+
runs-on: ubuntu-latest
|
12
|
+
strategy:
|
13
|
+
fail-fast: false
|
14
|
+
matrix:
|
15
|
+
ruby:
|
16
|
+
- '2.7'
|
17
|
+
- '3.0'
|
18
|
+
- '3.1'
|
19
|
+
- ruby-head
|
20
|
+
- jruby-9.3.3.0
|
21
|
+
include:
|
22
|
+
- ruby: ruby-head
|
23
|
+
env:
|
24
|
+
RUBYOPT: '--jit'
|
25
|
+
steps:
|
26
|
+
- uses: actions/checkout@v2
|
27
|
+
- uses: ruby/setup-ruby@v1
|
28
|
+
with:
|
29
|
+
ruby-version: ${{ matrix.ruby }}
|
30
|
+
bundler-cache: true
|
31
|
+
- run: bundle exec rake
|
32
|
+
env:
|
33
|
+
LONG_RUN: true
|
34
|
+
|
data/.gitignore
CHANGED
data/.rubocop.yml
ADDED
@@ -0,0 +1,186 @@
|
|
1
|
+
AllCops:
|
2
|
+
TargetRubyVersion: 2.4
|
3
|
+
# RuboCop has a bunch of cops enabled by default. This setting tells RuboCop
|
4
|
+
# to ignore them, so only the ones explicitly set in this file are enabled.
|
5
|
+
DisabledByDefault: true
|
6
|
+
|
7
|
+
Performance:
|
8
|
+
Exclude:
|
9
|
+
- '**/test/**/*'
|
10
|
+
- '**/spec/**/*'
|
11
|
+
|
12
|
+
# Prefer &&/|| over and/or.
|
13
|
+
Style/AndOr:
|
14
|
+
Enabled: true
|
15
|
+
|
16
|
+
# Do not use braces for hash literals when they are the last argument of a
|
17
|
+
# method call.
|
18
|
+
Style/BracesAroundHashParameters:
|
19
|
+
Enabled: true
|
20
|
+
EnforcedStyle: context_dependent
|
21
|
+
|
22
|
+
# Align `when` with `case`.
|
23
|
+
Layout/CaseIndentation:
|
24
|
+
Enabled: true
|
25
|
+
|
26
|
+
# Align comments with method definitions.
|
27
|
+
Layout/CommentIndentation:
|
28
|
+
Enabled: true
|
29
|
+
|
30
|
+
Layout/ElseAlignment:
|
31
|
+
Enabled: true
|
32
|
+
|
33
|
+
# Align `end` with the matching keyword or starting expression except for
|
34
|
+
# assignments, where it should be aligned with the LHS.
|
35
|
+
Layout/EndAlignment:
|
36
|
+
Enabled: true
|
37
|
+
EnforcedStyleAlignWith: variable
|
38
|
+
AutoCorrect: true
|
39
|
+
|
40
|
+
Layout/EmptyLineAfterMagicComment:
|
41
|
+
Enabled: true
|
42
|
+
|
43
|
+
Layout/EmptyLinesAroundBlockBody:
|
44
|
+
Enabled: true
|
45
|
+
|
46
|
+
# In a regular class definition, no empty lines around the body.
|
47
|
+
Layout/EmptyLinesAroundClassBody:
|
48
|
+
Enabled: true
|
49
|
+
|
50
|
+
# In a regular method definition, no empty lines around the body.
|
51
|
+
Layout/EmptyLinesAroundMethodBody:
|
52
|
+
Enabled: true
|
53
|
+
|
54
|
+
# In a regular module definition, no empty lines around the body.
|
55
|
+
Layout/EmptyLinesAroundModuleBody:
|
56
|
+
Enabled: true
|
57
|
+
|
58
|
+
Layout/FirstParameterIndentation:
|
59
|
+
Enabled: true
|
60
|
+
|
61
|
+
# Use Ruby >= 1.9 syntax for hashes. Prefer { a: :b } over { :a => :b }.
|
62
|
+
Style/HashSyntax:
|
63
|
+
Enabled: true
|
64
|
+
|
65
|
+
# Method definitions after `private` or `protected` isolated calls need one
|
66
|
+
# extra level of indentation.
|
67
|
+
Layout/IndentationConsistency:
|
68
|
+
Enabled: true
|
69
|
+
|
70
|
+
# Two spaces, no tabs (for indentation).
|
71
|
+
Layout/IndentationWidth:
|
72
|
+
Enabled: true
|
73
|
+
|
74
|
+
Layout/LeadingCommentSpace:
|
75
|
+
Enabled: true
|
76
|
+
|
77
|
+
Layout/SpaceAfterColon:
|
78
|
+
Enabled: true
|
79
|
+
|
80
|
+
Layout/SpaceAfterComma:
|
81
|
+
Enabled: true
|
82
|
+
|
83
|
+
Layout/SpaceAroundEqualsInParameterDefault:
|
84
|
+
Enabled: true
|
85
|
+
|
86
|
+
Layout/SpaceAroundKeyword:
|
87
|
+
Enabled: true
|
88
|
+
|
89
|
+
Layout/SpaceAroundOperators:
|
90
|
+
Enabled: true
|
91
|
+
|
92
|
+
Layout/SpaceBeforeComma:
|
93
|
+
Enabled: true
|
94
|
+
|
95
|
+
Layout/SpaceBeforeFirstArg:
|
96
|
+
Enabled: true
|
97
|
+
|
98
|
+
Style/DefWithParentheses:
|
99
|
+
Enabled: true
|
100
|
+
|
101
|
+
# Defining a method with parameters needs parentheses.
|
102
|
+
Style/MethodDefParentheses:
|
103
|
+
Enabled: true
|
104
|
+
|
105
|
+
Style/FrozenStringLiteralComment:
|
106
|
+
Enabled: true
|
107
|
+
EnforcedStyle: always
|
108
|
+
|
109
|
+
# Use `foo {}` not `foo{}`.
|
110
|
+
Layout/SpaceBeforeBlockBraces:
|
111
|
+
Enabled: true
|
112
|
+
|
113
|
+
# Use `foo { bar }` not `foo {bar}`.
|
114
|
+
Layout/SpaceInsideBlockBraces:
|
115
|
+
Enabled: true
|
116
|
+
|
117
|
+
# Use `{ a: 1 }` not `{a:1}`.
|
118
|
+
Layout/SpaceInsideHashLiteralBraces:
|
119
|
+
Enabled: true
|
120
|
+
|
121
|
+
Layout/SpaceInsideParens:
|
122
|
+
Enabled: true
|
123
|
+
|
124
|
+
# Check quotes usage according to lint rule below.
|
125
|
+
Style/StringLiterals:
|
126
|
+
Enabled: true
|
127
|
+
EnforcedStyle: double_quotes
|
128
|
+
|
129
|
+
# Detect hard tabs, no hard tabs.
|
130
|
+
Layout/Tab:
|
131
|
+
Enabled: true
|
132
|
+
|
133
|
+
# Blank lines should not have any spaces.
|
134
|
+
Layout/TrailingBlankLines:
|
135
|
+
Enabled: true
|
136
|
+
|
137
|
+
# No trailing whitespace.
|
138
|
+
Layout/TrailingWhitespace:
|
139
|
+
Enabled: true
|
140
|
+
|
141
|
+
# Use quotes for string literals when they are enough.
|
142
|
+
Style/UnneededPercentQ:
|
143
|
+
Enabled: true
|
144
|
+
|
145
|
+
# Use my_method(my_arg) not my_method( my_arg ) or my_method my_arg.
|
146
|
+
Lint/RequireParentheses:
|
147
|
+
Enabled: true
|
148
|
+
|
149
|
+
Lint/StringConversionInInterpolation:
|
150
|
+
Enabled: true
|
151
|
+
|
152
|
+
Lint/UriEscapeUnescape:
|
153
|
+
Enabled: true
|
154
|
+
|
155
|
+
Style/ParenthesesAroundCondition:
|
156
|
+
Enabled: true
|
157
|
+
|
158
|
+
Style/RedundantReturn:
|
159
|
+
Enabled: true
|
160
|
+
AllowMultipleReturnValues: true
|
161
|
+
|
162
|
+
Style/Semicolon:
|
163
|
+
Enabled: true
|
164
|
+
AllowAsExpressionSeparator: true
|
165
|
+
|
166
|
+
# Prefer Foo.method over Foo::method
|
167
|
+
Style/ColonMethodCall:
|
168
|
+
Enabled: true
|
169
|
+
|
170
|
+
Style/TrivialAccessors:
|
171
|
+
Enabled: true
|
172
|
+
|
173
|
+
Performance/FlatMap:
|
174
|
+
Enabled: true
|
175
|
+
|
176
|
+
Performance/RedundantMerge:
|
177
|
+
Enabled: true
|
178
|
+
|
179
|
+
Performance/StartWith:
|
180
|
+
Enabled: true
|
181
|
+
|
182
|
+
Performance/EndWith:
|
183
|
+
Enabled: true
|
184
|
+
|
185
|
+
Performance/RegexpMatch:
|
186
|
+
Enabled: true
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,151 @@
|
|
1
|
+
## [2.10.1] 2024-01-17
|
2
|
+
|
3
|
+
### Changed/Added
|
4
|
+
- Prevent warnings on Ruby 3.1 if finalizer is called twice [586](https://github.com/roo-rb/roo/pull/586)
|
5
|
+
- Fix Roo::Base#each_with_pagename degraded at [576](https://github.com/roo-rb/roo/pull/576) [583](https://github.com/roo-rb/roo/pull/583)
|
6
|
+
|
7
|
+
## [2.10.0] 2023-02-07
|
8
|
+
|
9
|
+
### Changed/Added
|
10
|
+
- Fix gsub! usage for open office documents on a frozen string [581](https://github.com/roo-rb/roo/pull/581)
|
11
|
+
- Add support for boolean values in open office files that were generated via Google Sheets [580](https://github.com/roo-rb/roo/pull/580)
|
12
|
+
- Roo::Base#each_with_pagename returns Enumerator Object [576](https://github.com/roo-rb/roo/pull/576)
|
13
|
+
|
14
|
+
## [2.9.0] 2022-03-19
|
15
|
+
|
16
|
+
### Changed/Added
|
17
|
+
- Ruby 3.x Support [555](https://github.com/roo-rb/roo/pull/555)
|
18
|
+
- Ignore all richdata at 'xl/richData' of XSLX [552](https://github.com/roo-rb/roo/pull/552)
|
19
|
+
- Only copy if cell is present when `expand_merged_ranges: true` [557](https://github.com/roo-rb/roo/pull/557)
|
20
|
+
- Fixes issue where the contents of hidden sheet was returned when parsing visible sheets only. [536](https://github.com/roo-rb/roo/pull/536)
|
21
|
+
- Add formats [525](https://github.com/roo-rb/roo/pull/525)
|
22
|
+
- Fix warnings caused by Ruby 2.7 update [530](https://github.com/roo-rb/roo/pull/530)
|
23
|
+
- Add formats [525](https://github.com/roo-rb/roo/pull/525)
|
24
|
+
|
25
|
+
### Removed
|
26
|
+
- Support for ruby 2.4, 2.5, 2.6(excluded jRuby)
|
27
|
+
|
28
|
+
## [2.8.3] 2020-02-03
|
29
|
+
### Changed/Added
|
30
|
+
- Updated rubyzip version. Now minimal version is 1.3.0 [515](https://github.com/roo-rb/roo/pull/515) - [CVE-2019-16892](https://github.com/rubyzip/rubyzip/pull/403)
|
31
|
+
|
32
|
+
## [2.8.2] 2019-02-01
|
33
|
+
### Changed/Added
|
34
|
+
- Support range cell for Excelx's links [490](https://github.com/roo-rb/roo/pull/490)
|
35
|
+
- Skip `extract_hyperlinks` if not required [488](https://github.com/roo-rb/roo/pull/488)
|
36
|
+
|
37
|
+
### Fixed
|
38
|
+
- Fixed error for invalid link [492](https://github.com/roo-rb/roo/pull/492)
|
39
|
+
|
40
|
+
## [2.8.1] 2019-01-21
|
41
|
+
### Fixed
|
42
|
+
- Fixed error if excelx's cell have empty children [487](https://github.com/roo-rb/roo/pull/487)
|
43
|
+
|
44
|
+
## [2.8.0] 2019-01-18
|
45
|
+
### Fixed
|
46
|
+
- Fixed inconsistent column length for CSV [375](https://github.com/roo-rb/roo/pull/375)
|
47
|
+
- Fixed formatted_value with `%` for Excelx [416](https://github.com/roo-rb/roo/pull/416)
|
48
|
+
- Improved Memory consumption and performance [434](https://github.com/roo-rb/roo/pull/434) [449](https://github.com/roo-rb/roo/pull/449) [454](https://github.com/roo-rb/roo/pull/454) [456](https://github.com/roo-rb/roo/pull/456) [458](https://github.com/roo-rb/roo/pull/458) [462](https://github.com/roo-rb/roo/pull/462) [466](https://github.com/roo-rb/roo/pull/466)
|
49
|
+
- Accept both Transitional and Strict Type for Excelx's worksheets [441](https://github.com/roo-rb/roo/pull/441)
|
50
|
+
- Fixed ruby warnings [442](https://github.com/roo-rb/roo/pull/442) [476](https://github.com/roo-rb/roo/pull/476)
|
51
|
+
- Restore support for URL as file identifier for CSV [462](https://github.com/roo-rb/roo/pull/462)
|
52
|
+
- Fixed missing location for Excelx's links [482](https://github.com/roo-rb/roo/pull/482)
|
53
|
+
|
54
|
+
### Changed / Added
|
55
|
+
- Drop support for ruby 2.2.x and lower
|
56
|
+
- Updated rubyzip version for fixing security issue. Now minimal version is 1.2.1
|
57
|
+
- Roo::Excelx::Coordinate now inherits Array [458](https://github.com/roo-rb/roo/pull/458)
|
58
|
+
- Improved Roo::HeaderRowNotFoundError exception's message [461](https://github.com/roo-rb/roo/pull/461)
|
59
|
+
- Added `empty_cell` option which by default disable allocation for Roo::Excelx::Cell::Empty [464](https://github.com/roo-rb/roo/pull/464)
|
60
|
+
- Added support for variable number of decimals for Excelx's formatted_value [387](https://github.com/roo-rb/roo/pull/387)
|
61
|
+
- Added `disable_html_injection` option to disable html injection for shared string in `Roo::Excelx` [392](https://github.com/roo-rb/roo/pull/392)
|
62
|
+
- Added image extraction for Excelx [414](https://github.com/roo-rb/roo/pull/414) [397](https://github.com/roo-rb/roo/pull/397)
|
63
|
+
- Added support for `1e6` as scientific notation for Excelx [433](https://github.com/roo-rb/roo/pull/433)
|
64
|
+
- Added support for Integer as 0 based index for Excelx's `sheet_for` [455](https://github.com/roo-rb/roo/pull/455)
|
65
|
+
- Extended `no_hyperlinks` option for non streaming Excelx methods [459](https://github.com/roo-rb/roo/pull/459)
|
66
|
+
- Added `empty_cell` option to disable Roo::Excelx::Cell::Empty allocation for Excelx [464](https://github.com/roo-rb/roo/pull/464)
|
67
|
+
- Added support for Integer with leading zero for Roo:Excelx [479](https://github.com/roo-rb/roo/pull/479)
|
68
|
+
- Refactored Excelx code [453](https://github.com/roo-rb/roo/pull/453) [477](https://github.com/roo-rb/roo/pull/477) [483](https://github.com/roo-rb/roo/pull/483) [484](https://github.com/roo-rb/roo/pull/484)
|
69
|
+
|
70
|
+
### Deprecations
|
71
|
+
- Roo::Excelx::Sheet#present_cells is deprecated [454](https://github.com/roo-rb/roo/pull/454)
|
72
|
+
- Roo::Utils.split_coordinate is deprecated [458](https://github.com/roo-rb/roo/pull/458)
|
73
|
+
- Roo::Excelx::Cell::Base#link is deprecated [457](https://github.com/roo-rb/roo/pull/457)
|
74
|
+
|
75
|
+
## [2.7.1] 2017-01-03
|
76
|
+
### Fixed
|
77
|
+
- Fixed regression where a CSV's encoding was being ignored [372](https://github.com/roo-rb/roo/pull/372)
|
78
|
+
|
79
|
+
## [2.7.0] 2016-12-31
|
80
|
+
### Fixed
|
81
|
+
- Added rack server for testing Roo's download capabilities [365](https://github.com/roo-rb/roo/pull/365)
|
82
|
+
- Refactored tests into different formats [365](https://github.com/roo-rb/roo/pull/365)
|
83
|
+
- Fixed OpenOffice for JRuby [362](https://github.com/roo-rb/roo/pull/362)
|
84
|
+
- Added '0.000000' => '%.6f' number format [354](https://github.com/roo-rb/roo/pull/354)
|
85
|
+
- Add additional formula cell types for to_csv [367][https://github.com/roo-rb/roo/pull/367]
|
86
|
+
|
87
|
+
### Added
|
88
|
+
- Extracted formatters from Roo::Base#to_* methods [364](https://github.com/roo-rb/roo/pull/364)
|
89
|
+
|
90
|
+
## [2.6.0] 2016-12-28
|
91
|
+
### Fixed
|
92
|
+
- Fixed error if sheet name starts with a slash [348](https://github.com/roo-rb/roo/pull/348)
|
93
|
+
- Fixed loading to support files on ftp [355](https://github.com/roo-rb/roo/pull/355)
|
94
|
+
- Fixed Ruby 2.4.0 deprecation warnings [356](https://github.com/roo-rb/roo/pull/356)
|
95
|
+
- properly return date as string [359](https://github.com/roo-rb/roo/pull/359)
|
96
|
+
|
97
|
+
### Added
|
98
|
+
- Cell values can be set in a CSV [350](https://github.com/roo-rb/roo/pull/350/)
|
99
|
+
- Raise an error Roo::Excelx::Extractor document is missing [358](https://github.com/roo-rb/roo/pull/358/)
|
100
|
+
|
101
|
+
## [2.5.1] 2016-08-26
|
102
|
+
### Fixed
|
103
|
+
- Fixed NameError. [337](https://github.com/roo-rb/roo/pull/337)
|
104
|
+
|
105
|
+
## [2.5.0] 2016-08-21
|
106
|
+
### Fixed
|
107
|
+
- Remove temporary directories via finalizers on garbage collection. This cleans them up in all known cases, rather than just when the #close method is called. The #close method can be used to cleanup early. [329](https://github.com/roo-rb/roo/pull/329)
|
108
|
+
- Fixed README.md typo [318](https://github.com/roo-rb/roo/pull/318)
|
109
|
+
- Parse sheets in ODS files once to improve performance [320](https://github.com/roo-rb/roo/pull/320)
|
110
|
+
- Fix some Cell conversion issues [324](https://github.com/roo-rb/roo/pull/324) and [331](https://github.com/roo-rb/roo/pull/331)
|
111
|
+
- Improved memory performance [332](https://github.com/roo-rb/roo/pull/332)
|
112
|
+
- Added `no_hyperlinks` option to improve streamig performance [319](https://github.com/roo-rb/roo/pull/319) and [333](https://github.com/roo-rb/roo/pull/333)
|
113
|
+
|
114
|
+
### Deprecations
|
115
|
+
- Roo::Base::TEMP_PREFIX should be accessed via Roo::TEMP_PREFIX
|
116
|
+
- The private Roo::Base#make_tempdir is now available at the class level in
|
117
|
+
classes that use temporary directories, added via Roo::Tempdir
|
118
|
+
=======
|
119
|
+
### Added
|
120
|
+
- Discard hyperlinks lookups to allow streaming parsing without loading whole files
|
121
|
+
|
122
|
+
## [2.4.0] 2016-05-14
|
123
|
+
### Fixed
|
124
|
+
- Fixed opening spreadsheets with charts [315](https://github.com/roo-rb/roo/pull/315)
|
125
|
+
- Fixed memory issues for Roo::Utils.number_to_letter [308](https://github.com/roo-rb/roo/pull/308)
|
126
|
+
- Fixed Roo::Excelx::Cell::Number to recognize floating point numbers [306](https://github.com/roo-rb/roo/pull/306)
|
127
|
+
- Fixed version number in Readme.md [304](https://github.com/roo-rb/roo/pull/304)
|
128
|
+
|
129
|
+
### Added
|
130
|
+
- Added initial support for HTML formatting [278](https://github.com/roo-rb/roo/pull/278)
|
131
|
+
|
132
|
+
## [2.3.2] 2016-02-18
|
133
|
+
### Fixed
|
134
|
+
- Handle url with long query params (ex. S3 secure url) [302](https://github.com/roo-rb/roo/pull/302)
|
135
|
+
- Allow streaming for Roo::CSV [297](https://github.com/roo-rb/roo/pull/297)
|
136
|
+
- Export Fixnums to Added csv [295](https://github.com/roo-rb/roo/pull/295)
|
137
|
+
- Removed various Ruby warnings [289](https://github.com/roo-rb/roo/pull/289)
|
138
|
+
- Fix incorrect example result in Readme.md [293](https://github.com/roo-rb/roo/pull/293)
|
139
|
+
|
140
|
+
## [2.3.1] - 2016-01-08
|
141
|
+
### Fixed
|
142
|
+
- Properly parse scientific-notation number like 1E-3 [#288](https://github.com/roo-rb/roo/pull/288)
|
143
|
+
- Include all tests in default rake run [#283](https://github.com/roo-rb/roo/pull/283)
|
144
|
+
- Fix zero-padded numbers for Excelx [#282](https://github.com/roo-rb/roo/pull/282)
|
145
|
+
|
146
|
+
### Changed
|
147
|
+
- Moved `ERROR_VALUES` from Excelx::Cell::Number ~> Excelx. [#280](https://github.com/roo-rb/roo/pull/280)
|
148
|
+
|
1
149
|
## [2.3.0] - 2015-12-10
|
2
150
|
### Changed
|
3
151
|
- Excelx::Cell::Number will return a String instead of an Integer or Float if the cell has an error like #DIV/0, etc. [#273](https://github.com/roo-rb/roo/pull/273)
|
data/Gemfile
CHANGED
@@ -4,12 +4,13 @@ gemspec
|
|
4
4
|
|
5
5
|
group :test do
|
6
6
|
# additional testing libs
|
7
|
-
gem 'webmock'
|
8
7
|
gem 'shoulda'
|
8
|
+
gem 'activesupport', '< 5.1'
|
9
9
|
gem 'rspec', '>= 3.0.0'
|
10
|
-
gem 'vcr'
|
11
10
|
gem 'simplecov', '>= 0.9.0', require: false
|
12
11
|
gem 'coveralls', require: false
|
12
|
+
gem "minitest-reporters"
|
13
|
+
gem 'webrick' if RUBY_VERSION >= '3.0.0'
|
13
14
|
end
|
14
15
|
|
15
16
|
group :local_development do
|
@@ -17,8 +18,7 @@ group :local_development do
|
|
17
18
|
gem 'guard-rspec', '>= 4.3.1', require: false
|
18
19
|
gem 'guard-minitest', require: false
|
19
20
|
gem 'guard-bundler', require: false
|
20
|
-
gem 'guard-preek', require: false
|
21
21
|
gem 'guard-rubocop', require: false
|
22
|
-
gem
|
22
|
+
gem "rb-readline"
|
23
23
|
gem 'pry'
|
24
24
|
end
|