better_csv 0.0.3.1 → 0.0.4

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: 219c91952cf7d365bf49487473122df7e45848b7
4
- data.tar.gz: abd09627a98520fc384b1fe7f7407f756eb8ba1e
3
+ metadata.gz: 3a942bd3168651b5f7219d57e3a1fa6562a177da
4
+ data.tar.gz: 92931a6478619ecdb367ef13ac985fd3233ef438
5
5
  SHA512:
6
- metadata.gz: 96adeec8cd184cef37060aa5dd1f3026b4107511588b481bf5f3cee99119295f9e5db2b8f126850c949d0c68020366b0d003a838364a5caaa03429e73650e0cc
7
- data.tar.gz: 7169e80c07f89ea9c26ccc43997e2a7f71bcae125d4b71851e7b590c5c6edc3c784140015cb68b3f610898999a8841707d1178bb4275ced28dfae37c6f484db1
6
+ metadata.gz: 03ee3e5ff773c5033d575c1c31189781b23843fcb5e0eb96cd9bb3ccc87f5d500c2a35c4ce1b9e84d124dafd984654c30decab91d5a175fc6226f3463b84291c
7
+ data.tar.gz: 2329026f1bbade73ab752ed85260e0b8c53024c78cb6f48bd286719c331338fe66461512c0ebb88fcb2a744d65e276ca98d9d7cb99a66bab8e9d5510ad1ca955
@@ -1,3 +1,3 @@
1
1
  module BetterCsv
2
- VERSION = "0.0.3.1"
2
+ VERSION = "0.0.4"
3
3
  end
data/lib/better_csv.rb CHANGED
@@ -35,6 +35,7 @@ module BetterCsv
35
35
  line << token
36
36
  csv << line
37
37
  token = ""
38
+ yield(line) if block_given?
38
39
  line = Array.new
39
40
  next
40
41
  end
@@ -43,7 +44,10 @@ module BetterCsv
43
44
  back = current
44
45
  end
45
46
 
46
- line << token if token.size > 0
47
+ if token.size > 0
48
+ line << token
49
+ yield(line) if block_given?
50
+ end
47
51
  csv << line if line.size > 0
48
52
 
49
53
  return csv
@@ -52,4 +56,8 @@ module BetterCsv
52
56
  STDERR.puts e.backtrace
53
57
  end
54
58
 
59
+ def each
60
+
61
+
62
+ end
55
63
  end
@@ -4,7 +4,6 @@ describe BetterCsv do
4
4
  it 'has a version number' do
5
5
  expect(BetterCsv::VERSION).not_to be nil
6
6
  end
7
-
8
7
 
9
8
  context 'on basic csv test' do
10
9
  str = 'a,b,c,d,e,f,g'
@@ -71,6 +70,12 @@ describe BetterCsv do
71
70
  expect(BetterCsv.parse(str)).to eq(equal)
72
71
  end
73
72
  end
73
+
74
+ describe "each value has native return." do
75
+ it 'shuld be "d1\nd2"' do
76
+ expect(BetterCsv.parse(str)[0][3]).to eq("d1\nd2")
77
+ end
78
+ end
74
79
  end
75
80
 
76
81
 
@@ -99,5 +104,29 @@ EOS
99
104
  end
100
105
  end
101
106
 
107
+ context 'on including comma, in "" csv on multiple lines with yield block' do
108
+ str = <<-EOS
109
+ a,b,,"d1,d2",,f,g
110
+ a,b,,"d1,d2",,f,g
111
+ EOS
112
+ equal = [['a','b',"","d1,d2","",'f','g'],['a','b',"","d1,d2","",'f','g']]
113
+ describe "sepalated with simply ',' == #{str} " do
114
+ it "shuld be raise no error" do
115
+ expect{
116
+ BetterCsv.parse(str) do |line|
117
+ p line
118
+ end
119
+ }.to_not raise_error
120
+ end
121
+
122
+ it "shuld be #{equal.to_s}" do
123
+ expect{
124
+ BetterCsv.parse(str) do |line|
125
+ p line
126
+ end
127
+ }.to_not raise_error
128
+ end
129
+ end
130
+ end
102
131
 
103
132
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: better_csv
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3.1
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tatumaki
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-01 00:00:00.000000000 Z
11
+ date: 2014-12-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler