roo 2.2.0 → 2.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/lib/roo/excelx/cell/number.rb +6 -0
- data/lib/roo/version.rb +1 -1
- data/test/excelx/cell/test_number.rb +8 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f9b79f7270fb925c4aa402c0bd1bcccfc422ac92
|
4
|
+
data.tar.gz: f5ed3e4155c09890a710265c3a31e308ec4660fa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bb21c71a0343bcce335b4ddc7b5b0caec8ba69d5059e09868e76a7494338fd11bd8d6dae0c0697dbc2ccef4564f7fa19ae56cc09b1c6bca22a6670b7ee1ada6c
|
7
|
+
data.tar.gz: 4563b478a1a0c71fbd7087097917b4eacc0a744d8f3d806ce02f8836b767f34a16c40e3207695180ff1a9882f74a6c9c6b354f84547fee5e91a0bf08959ff04a
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
## [2.3.0] - 2015-12-10
|
2
|
+
### Changed
|
3
|
+
- 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)
|
4
|
+
|
5
|
+
### Fixed
|
6
|
+
- Excelx::Cell::Number now handles cell errors. [#273](https://github.com/roo-rb/roo/pull/273)
|
7
|
+
|
1
8
|
## [2.2.0] - 2015-10-31
|
2
9
|
### Added
|
3
10
|
- Added support for returning Integers values to Roo::OpenOffice [#258](https://github.com/roo-rb/roo/pull/258)
|
@@ -2,6 +2,8 @@ module Roo
|
|
2
2
|
class Excelx
|
3
3
|
class Cell
|
4
4
|
class Number < Cell::Base
|
5
|
+
ERROR_VALUES = %w(#N/A #REF! #NAME? #DIV/0! #NULL! #VALUE! #NUM!)
|
6
|
+
|
5
7
|
attr_reader :value, :formula, :format, :cell_value, :link, :coordinate
|
6
8
|
|
7
9
|
def initialize(value, formula, excelx_type, style, link, coordinate)
|
@@ -14,6 +16,8 @@ module Roo
|
|
14
16
|
end
|
15
17
|
|
16
18
|
def create_numeric(number)
|
19
|
+
return number if ERROR_VALUES.include?(number)
|
20
|
+
|
17
21
|
case @format
|
18
22
|
when /%/
|
19
23
|
Float(number)
|
@@ -25,6 +29,8 @@ module Roo
|
|
25
29
|
end
|
26
30
|
|
27
31
|
def formatted_value
|
32
|
+
return @cell_value if ERROR_VALUES.include?(@cell_value)
|
33
|
+
|
28
34
|
formatter = formats[@format]
|
29
35
|
if formatter.is_a? Proc
|
30
36
|
formatter.call(@cell_value)
|
data/lib/roo/version.rb
CHANGED
@@ -34,6 +34,14 @@ class TestRooExcelxCellNumber < Minitest::Test
|
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
37
|
+
def test_numbers_with_cell_errors
|
38
|
+
%w(#N/A #REF! #NAME? #DIV/0! #NULL! #VALUE! #NUM!).each do |error|
|
39
|
+
cell = Roo::Excelx::Cell::Number.new error, nil, ['General'], nil, nil, nil
|
40
|
+
assert_equal error, cell.value
|
41
|
+
assert_equal error, cell.formatted_value
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
37
45
|
def test_formats
|
38
46
|
[
|
39
47
|
['General', '1042'],
|
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.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas Preymesser
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2015-10
|
15
|
+
date: 2015-12-10 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: nokogiri
|