csv2avro 1.0.1 → 1.0.2

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
2
  SHA1:
3
- metadata.gz: 4102328d73046f50036d1a35848142d0d23e50dc
4
- data.tar.gz: d7f59e943fd02106579e9f25b6bc5480e5243b03
3
+ metadata.gz: 3dd5ca9e046d1e46a845614350ad1e0e2dcdd8a6
4
+ data.tar.gz: 0c7eefec78b9293b6f1ed954fb22b5ec6b6506ba
5
5
  SHA512:
6
- metadata.gz: e1e6e26a916c6beb65c25395e062fa8f45037171fcfc624798fb68417f257ac761fdb6ffd560dda251bee89953be59399f3e66ee0ce612e405cf352862cd4d30
7
- data.tar.gz: e94c31792b3113edb64dfc1e72cb24868af3a446469df2ada734d6ef0210992c5739ad26ba485832fcfc37204193d1bbde59155df98a18c34b644cf65aac50f6
6
+ metadata.gz: abbed521cda772e04453d95ec559f37e1e45b84f1fbe46e600e5a1ec0333abdbf28978b31946a451ab87701de4af089787f68b316262152bb00f6d9ceefe1048
7
+ data.tar.gz: 683f680b56c5c06f0217ca5c6f2ff384b228435175327d746545601636844755a5832cf904c420f004bcc4a0cbb4d751eaf1ddeefe4eeeaa334c6418b8633a02
data/CHANGELOG.md CHANGED
@@ -3,6 +3,11 @@
3
3
  All notable changes to this project are documented in this file.
4
4
  This project adheres to [Semantic Versioning](http://semver.org/).
5
5
 
6
+ ## 1.0.2 (2015-06-29; [compare](https://github.com/sspinc/csv2avro/compare/1.0.1...1.0.2))
7
+
8
+ ### Fixed
9
+ * Continue on parsing errors
10
+
6
11
  ## 1.0.1 (2015-06-12; [compare](https://github.com/sspinc/csv2avro/compare/1.0.0...1.0.1))
7
12
 
8
13
  ### Fixed
data/csv2avro.gemspec CHANGED
@@ -6,8 +6,8 @@ require 'csv2avro/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "csv2avro"
8
8
  spec.version = CSV2Avro::VERSION
9
- spec.authors = ["Peter Ableda"]
10
- spec.email = ["scotty@secretsaucepartners.com"]
9
+ spec.authors = ["Peter Ableda", "Peter Marton"]
10
+ spec.email = ["scotty@secretsaucepartners.com", "martonpe@secretsaucepartners.com"]
11
11
  spec.summary = %q{Convert CSV files to Avro}
12
12
  spec.description = %q{Convert CSV files to Avro like a boss.}
13
13
  spec.homepage = ""
@@ -17,7 +17,13 @@ class CSV2Avro
17
17
  end
18
18
 
19
19
  def convert
20
- csv.each do |row|
20
+ while not csv.eof? do
21
+ begin
22
+ row = csv.shift
23
+ rescue CSV::MalformedCSVError
24
+ @error_writer.puts("line #{line_number}: Unable to parse")
25
+ next
26
+ end
21
27
  hash = row.to_hash
22
28
 
23
29
  add_defaults_to_hash!(hash) if @options[:write_defaults]
@@ -33,10 +39,7 @@ class CSV2Avro
33
39
  end
34
40
  end
35
41
  end
36
-
37
42
  @writer.flush
38
- rescue CSV::MalformedCSVError
39
- @error_writer.puts("line #{line_number}: Unable to parse")
40
43
  end
41
44
 
42
45
  private
@@ -1,3 +1,3 @@
1
1
  class CSV2Avro
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
@@ -10,7 +10,7 @@ RSpec.describe CSV2Avro do
10
10
  subject(:converter) { CSV2Avro.new(options) }
11
11
 
12
12
  it 'should write errors to STDERR' do
13
- expect { converter.convert }.to output("line 4: Missing value at name\nline 5: Unable to parse\n").to_stderr
13
+ expect { converter.convert }.to output("line 4: Missing value at name\nline 7: Unable to parse\n").to_stderr
14
14
  end
15
15
 
16
16
  it 'should have a bad row' do
@@ -24,7 +24,9 @@ RSpec.describe CSV2Avro do
24
24
  expect(AvroReader.new(file).read).to eq(
25
25
  [
26
26
  { 'id'=>1, 'name'=>'dresses', 'description'=>'Dresses' },
27
- { 'id'=>2, 'name'=>'female-tops', 'description'=>nil }
27
+ { 'id'=>2, 'name'=>'female-tops', 'description'=>nil },
28
+ { 'id'=>4, 'name'=>'male-tops', 'description'=>"Male Tops\nand Male Shirts"},
29
+ { 'id'=>6, 'name'=>'male-shoes', 'description'=>'Male Shoes'}
28
30
  ]
29
31
  )
30
32
  end
@@ -1,5 +1,8 @@
1
1
  id,name,description
2
- 1,dresses,"Dresses"
3
- 2,female-tops,
4
- 3,,"Bras"
5
- 4,male-tops,"Male Tops""
2
+ 1,dresses,Dresses
3
+ "2","female-tops",
4
+ "3",,"Bras"
5
+ "4","male-tops","Male Tops
6
+ and Male Shirts"
7
+ "5","female-shoes","\"Shoes\" for women"
8
+ "6","male-shoes","Male Shoes"
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: csv2avro
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Ableda
8
+ - Peter Marton
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2015-06-12 00:00:00.000000000 Z
12
+ date: 2015-06-30 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: bundler
@@ -97,6 +98,7 @@ dependencies:
97
98
  description: Convert CSV files to Avro like a boss.
98
99
  email:
99
100
  - scotty@secretsaucepartners.com
101
+ - martonpe@secretsaucepartners.com
100
102
  executables:
101
103
  - csv2avro
102
104
  extensions: []