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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: 9d723df983c8063c648f6eb47f723f7e90d14257963fc7e73aed66bf48523452
4
- data.tar.gz: 41c9a03b9d4ab3b235d2ebf9043c1c44999f851d26e58761d12b73d888a4f8ee
2
+ SHA1:
3
+ metadata.gz: 5103ec586ff4c0a7416764d563dfaecea3d52c22
4
+ data.tar.gz: 9313bbd50e3cf2aacf3949be68af21624eebcc3c
5
5
  SHA512:
6
- metadata.gz: b83f87e580808943213c469d23b0cc040ef690ec1de6b24737390e2bc5f12b8b6a5ff74738f6c1d1fc46dd2e16256772c421cbcbdbac0fd9d234eb901e60ad4e
7
- data.tar.gz: '0922e9cba7e71d8b506c2bc072decb84aae94c5234129afc79a57e408cbab4d3613451fd24aae6ae1059fc14b20367091ae4417b6a218aa24cee21bc139c4737'
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`_
@@ -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.with_index do |row, idx|
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
@@ -1,3 +1,3 @@
1
1
  module SeeAsVee
2
- VERSION = '0.5.0'.freeze
2
+ VERSION = '0.5.1'.freeze
3
3
  end
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.0
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-28 00:00:00.000000000 Z
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.7.3
188
+ rubygems_version: 2.4.8
189
189
  signing_key:
190
190
  specification_version: 4
191
191
  summary: Really easy CSV/XLSX reader/writer.