honey_format 0.7.0 → 0.8.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 +9 -3
- data/lib/honey_format/header.rb +7 -0
- data/lib/honey_format/row.rb +6 -3
- data/lib/honey_format/rows.rb +7 -0
- data/lib/honey_format/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cd129c5fad5db62fff083b435b6fcda0ffffd8a267a3212ddf0207d55687b0ea
|
4
|
+
data.tar.gz: 06bd0c47a814e1d9dba272604438e251a86961928ad403ea51528bd11050a653
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c969983ad1c3af2a1f5c0fff16726e6181b91db3db2504a16a4f71105e213142941ca3b06507e3efff36b111edba7cfbdf8c286f64aadb5e74ed37022c26f57a
|
7
|
+
data.tar.gz: 2ac22026db03b89aa5f37c64a1be68e40d19b7edc71a5e90af106e15e80e43c0c610233d434da626879419ba132fa64da74869748eee596fbe8a772e463d2740
|
data/CHANGELOG.md
CHANGED
@@ -1,8 +1,14 @@
|
|
1
|
+
# v0.8.0
|
2
|
+
|
3
|
+
* _[Feature]_ Add `#size` and `#length` methods to `Header` and `Rows` objects
|
4
|
+
* _[Bugfix]_ Improved Row error handling for when row size differs from header column
|
5
|
+
|
6
|
+
|
1
7
|
# v0.7.0
|
2
8
|
|
3
|
-
|
4
|
-
|
5
|
-
|
9
|
+
* Don't sanitize each row :rocket: (improves performance from ~1.4x times slower than raw CSV to ~1.1)
|
10
|
+
* Fold `Columns` class into `Header`
|
11
|
+
* Remove `Sanitize` class
|
6
12
|
|
7
13
|
# v0.6.0
|
8
14
|
|
data/lib/honey_format/header.rb
CHANGED
@@ -45,6 +45,13 @@ module HoneyFormat
|
|
45
45
|
@columns
|
46
46
|
end
|
47
47
|
|
48
|
+
# Return the number of header columns
|
49
|
+
# @return [Integer] the number of header columns
|
50
|
+
def length
|
51
|
+
@columns.length
|
52
|
+
end
|
53
|
+
alias_method :size, :length
|
54
|
+
|
48
55
|
# Header as CSV-string
|
49
56
|
# @return [String] CSV-string representation.
|
50
57
|
def to_csv
|
data/lib/honey_format/row.rb
CHANGED
@@ -32,11 +32,14 @@ module HoneyFormat
|
|
32
32
|
built_row = @row_builder.call(row)
|
33
33
|
return built_row unless @builder
|
34
34
|
@builder.call(built_row)
|
35
|
-
rescue ArgumentError
|
35
|
+
rescue ArgumentError => e
|
36
|
+
raise unless e.message == 'struct size differs'
|
37
|
+
|
36
38
|
err_msg = [
|
37
39
|
"Row length #{row.length}",
|
38
|
-
"
|
39
|
-
"row: #{row.inspect}"
|
40
|
+
"column length #{@columns.length}",
|
41
|
+
"row: #{row.inspect}",
|
42
|
+
"orignal message: '#{e.message}'"
|
40
43
|
].join(', ')
|
41
44
|
raise(InvalidRowLengthError, err_msg)
|
42
45
|
end
|
data/lib/honey_format/rows.rb
CHANGED
@@ -27,6 +27,13 @@ module HoneyFormat
|
|
27
27
|
@rows
|
28
28
|
end
|
29
29
|
|
30
|
+
# Return the number of rows
|
31
|
+
# @return [Integer] the number of rows
|
32
|
+
def length
|
33
|
+
@rows.length
|
34
|
+
end
|
35
|
+
alias_method :size, :length
|
36
|
+
|
30
37
|
# @return [String] CSV-string representation.
|
31
38
|
def to_csv
|
32
39
|
to_a.map(&:to_csv).join
|
data/lib/honey_format/version.rb
CHANGED