see_as_vee 0.5.0 → 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +4 -1
- data/lib/see_as_vee/sheet.rb +4 -2
- data/lib/see_as_vee/version.rb +1 -1
- data/lib/see_as_vee.rb +4 -4
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 5103ec586ff4c0a7416764d563dfaecea3d52c22
|
4
|
+
data.tar.gz: 9313bbd50e3cf2aacf3949be68af21624eebcc3c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 58e8894f237cb6b25e08a8c7e2a51f1ad11a423bfa36d939edc180b819126f86c449b646e1370fefeecf047c4773c5e162a8361683199efa89bcf3388aacb954
|
7
|
+
data.tar.gz: 573e25fc183ad9d3e48e553f2d769c584c986bf6dda632cfa3ac79fe08dd9b93222d754dfe6094ccfba1ff86b2e2601974a1f6595b0c0b01fd420ec71a97a9af
|
data/README.md
CHANGED
@@ -37,7 +37,8 @@ Or install it yourself as:
|
|
37
37
|
sheet = SeeAsVee.harvest(
|
38
38
|
'spec/fixtures/velocity.xlsx', # file exists ⇒ will be loaded
|
39
39
|
formatters: { reference: ->(v) { v.round.to_s } }, # safe reference input
|
40
|
-
checkers: { reference: ->(v) { v.nil? } } # must be present
|
40
|
+
checkers: { reference: ->(v) { v.nil? } }, # must be present
|
41
|
+
skip_blank_rows: true # Optional, defaults to false
|
41
42
|
) do |idx, errors, hash| # row index, errors, row as hash { header: value }
|
42
43
|
# Errors: {"Reference"=>"☣2̶4̶3̶7̶2̶3̶1̶1̶4̶"}
|
43
44
|
expect(errors["Reference"]).to eq "#{SeeAsVee::Sheet::CELL_ERROR_MARKER}2̶4̶3̶7̶2̶3̶1̶1̶4̶"
|
@@ -125,6 +126,8 @@ From the version `0.4.5` we support expanding the column produced by `GROUP_CONC
|
|
125
126
|
|
126
127
|
## Changelog
|
127
128
|
|
129
|
+
### `0.5.1` _`skip_blank_rows`_
|
130
|
+
|
128
131
|
### `0.5.0` supporting all versions of `dry-validation`
|
129
132
|
|
130
133
|
### `0.4.9` _`squish`_
|
data/lib/see_as_vee/sheet.rb
CHANGED
@@ -14,12 +14,14 @@ module SeeAsVee
|
|
14
14
|
|
15
15
|
attr_reader :rows, :formatters, :checkers
|
16
16
|
|
17
|
-
def initialize whatever, formatters: {}, checkers: {}
|
17
|
+
def initialize whatever, formatters: {}, checkers: {}, skip_blank_rows: false
|
18
18
|
@formatters = formatters.map { |k, v| [str_to_sym(k), v] }.to_h
|
19
19
|
@checkers = checkers.map { |k, v| [str_to_sym(k), v] }.to_h
|
20
20
|
@rows = whatever.is_a?(Array) ? whatever : Helpers.harvest_csv(whatever)
|
21
21
|
|
22
|
-
@rows = @rows.map
|
22
|
+
@rows = @rows.map do |row|
|
23
|
+
row unless skip_blank_rows && row.compact.empty?
|
24
|
+
end.compact.map.with_index do |row, idx|
|
23
25
|
idx.zero? ? row : plough_row(row)
|
24
26
|
end
|
25
27
|
end
|
data/lib/see_as_vee/version.rb
CHANGED
data/lib/see_as_vee.rb
CHANGED
@@ -25,8 +25,8 @@ require 'see_as_vee/sheet'
|
|
25
25
|
require 'see_as_vee/producers/hashes'
|
26
26
|
|
27
27
|
module SeeAsVee
|
28
|
-
def harvest whatever, formatters: {}, checkers: {}
|
29
|
-
sheet = SeeAsVee::Sheet.new whatever, formatters: formatters, checkers: checkers
|
28
|
+
def harvest whatever, formatters: {}, checkers: {}, skip_blank_rows: false
|
29
|
+
sheet = SeeAsVee::Sheet.new whatever, formatters: formatters, checkers: checkers, skip_blank_rows: skip_blank_rows
|
30
30
|
return sheet.each unless block_given?
|
31
31
|
|
32
32
|
sheet.each(&Proc.new)
|
@@ -51,7 +51,7 @@ module SeeAsVee
|
|
51
51
|
end
|
52
52
|
|
53
53
|
class String
|
54
|
-
def harvest_csv formatters: {}, checkers: {}
|
55
|
-
SeeAsVee.harvest self, formatters: formatters, checkers: checkers
|
54
|
+
def harvest_csv formatters: {}, checkers: {}, skip_blank_rows: false
|
55
|
+
SeeAsVee.harvest self, formatters: formatters, checkers: checkers, skip_blank_rows: skip_blank_rows
|
56
56
|
end
|
57
57
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: see_as_vee
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aleksei Matiushkin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-06-
|
11
|
+
date: 2018-06-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: simple_xlsx_reader
|
@@ -185,7 +185,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
185
185
|
version: '0'
|
186
186
|
requirements: []
|
187
187
|
rubyforge_project:
|
188
|
-
rubygems_version: 2.
|
188
|
+
rubygems_version: 2.4.8
|
189
189
|
signing_key:
|
190
190
|
specification_version: 4
|
191
191
|
summary: Really easy CSV/XLSX reader/writer.
|