csv_piper 0.1.6 → 0.1.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1730caf6aa83cafab982b7b85147c925b234f521
4
- data.tar.gz: 7168642217a18cd0aa59e9dfa7ff5d00f8760a57
3
+ metadata.gz: 5eae40f149b1416603bd8997b7cdea3c61b16a8f
4
+ data.tar.gz: c883cdc281fbb68b0252b026bb97b52bc51ad711
5
5
  SHA512:
6
- metadata.gz: ac6e0b802e8517c17ce7cc5ba75d00b925c8914cadafda373288dbc45b7749b165652b70f581997c9ffe21cfd64223a6fef6312748db82a1fc020008ac59c19a
7
- data.tar.gz: 280a4d9d57a9be26f39770f10b84ab78360d0c16eb51048e8f2c14b301ddf7ef1350ae5add162096c8c2b50957ec971b7510df2e10bb751d9f9d8c930c5d2889
6
+ metadata.gz: 98f8eddd94969df9b2c25a5c668e3a8d4d35b17290b63bfba7661789ebdfbe91527bcb46f40405f468730f7cb67b3906a9d76c4e7934ae188cbed64c0ba27d02
7
+ data.tar.gz: 3bfd4461527a2748d9e64c1dfef9bebbd05f440a52ca2cfaf9b9a6d7cd5231f2858b76f55418c9c2b2983a98b6693b83edd0f0498bc61db8668cc9527104a83b
data/README.md CHANGED
@@ -165,7 +165,7 @@ Over time we will collect a bunch of general purpose processors that anyone can
165
165
 
166
166
  * `Copy`: Copies or maps key-values from the source row into the transformed object.
167
167
  * `CollectOutput`: Collects the transformed object of every row that is passed through it.
168
- * `CollectErrors`: Collects the `RowError` object of every row that is passed through it.
168
+ * `CollectErrors`: Collects each non-empty errors hash against every row that is passed through it.
169
169
  * `CreateActiveModel`: Uses the transformed object as attributes and creates using it (Works with ActiveRecord models). Merges errors from model into row errors (Assumes ActiveModel::Errors interface).
170
170
 
171
171
  By using `CollectOutput` and to a lesser extent `CollectErrors` you will start to build up objects in memory. For very large csv files you might not want to use these convenience processors and rather create a new processor that does whatever you need with the row (Ie. log, write to db) which will then be discarded rather than collected.
data/csv_piper.gemspec CHANGED
@@ -23,6 +23,6 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency "bundler", "~> 1.10"
24
24
  spec.add_development_dependency "rake", "~> 10.0"
25
25
  spec.add_development_dependency "rspec", "~> 3"
26
- spec.add_development_dependency 'sqlite3', '~> 1.3', '>= 1.3.10'
27
- spec.add_development_dependency 'activerecord', '~> 4.2', '>= 4.2.4'
26
+ spec.add_development_dependency 'sqlite3', '~> 1.3'
27
+ spec.add_development_dependency 'activerecord', '~> 4.2'
28
28
  end
@@ -37,12 +37,12 @@ module CsvPiper
37
37
 
38
38
  def process_csv_body
39
39
  csv.each.with_index(FIRST_DATA_LINE_INDEX) do |row, index|
40
- processed_data, row_errors = process_row(index, row.to_hash)
40
+ processed_data, row_errors = process_row(row.to_hash, Errors::Row.new(index))
41
41
  end
42
42
  end
43
43
 
44
- def process_row(row_index, row)
45
- pre_processed_row, row_errors = pre_processors.reduce([row, Errors::Row.new(row_index)]) do |memo, processor|
44
+ def process_row(row, row_errors)
45
+ pre_processed_row, row_errors = pre_processors.reduce([row, row_errors]) do |memo, processor|
46
46
  output = processor.process(*memo)
47
47
  return if output.nil?
48
48
  output
@@ -6,8 +6,8 @@ module CsvPiper
6
6
  @errors = {}
7
7
  end
8
8
 
9
- def process(source, transformed, errors)
10
- @errors[errors.row_index] = errors unless errors.empty?
9
+ def process(source, transformed, row_errors)
10
+ @errors[row_errors.row_index] = row_errors.errors unless row_errors.empty?
11
11
  [transformed, errors]
12
12
  end
13
13
  end
@@ -1,3 +1,3 @@
1
1
  module CsvPiper
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.7"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: csv_piper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jarrod Sibbison
@@ -59,9 +59,6 @@ dependencies:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '1.3'
62
- - - ">="
63
- - !ruby/object:Gem::Version
64
- version: 1.3.10
65
62
  type: :development
66
63
  prerelease: false
67
64
  version_requirements: !ruby/object:Gem::Requirement
@@ -69,9 +66,6 @@ dependencies:
69
66
  - - "~>"
70
67
  - !ruby/object:Gem::Version
71
68
  version: '1.3'
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- version: 1.3.10
75
69
  - !ruby/object:Gem::Dependency
76
70
  name: activerecord
77
71
  requirement: !ruby/object:Gem::Requirement
@@ -79,9 +73,6 @@ dependencies:
79
73
  - - "~>"
80
74
  - !ruby/object:Gem::Version
81
75
  version: '4.2'
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- version: 4.2.4
85
76
  type: :development
86
77
  prerelease: false
87
78
  version_requirements: !ruby/object:Gem::Requirement
@@ -89,9 +80,6 @@ dependencies:
89
80
  - - "~>"
90
81
  - !ruby/object:Gem::Version
91
82
  version: '4.2'
92
- - - ">="
93
- - !ruby/object:Gem::Version
94
- version: 4.2.4
95
83
  description: Simple wrapper to process csv's with a pipeline of testable processors.
96
84
  email:
97
85
  - ''