better_csv 0.0.3.1 → 0.0.4
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 +4 -4
- data/lib/better_csv/version.rb +1 -1
- data/lib/better_csv.rb +9 -1
- data/spec/better_csv_spec.rb +30 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3a942bd3168651b5f7219d57e3a1fa6562a177da
|
4
|
+
data.tar.gz: 92931a6478619ecdb367ef13ac985fd3233ef438
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 03ee3e5ff773c5033d575c1c31189781b23843fcb5e0eb96cd9bb3ccc87f5d500c2a35c4ce1b9e84d124dafd984654c30decab91d5a175fc6226f3463b84291c
|
7
|
+
data.tar.gz: 2329026f1bbade73ab752ed85260e0b8c53024c78cb6f48bd286719c331338fe66461512c0ebb88fcb2a744d65e276ca98d9d7cb99a66bab8e9d5510ad1ca955
|
data/lib/better_csv/version.rb
CHANGED
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
|
-
|
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
|
data/spec/better_csv_spec.rb
CHANGED
@@ -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.
|
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-
|
11
|
+
date: 2014-12-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|