better_csv 0.0.4 → 0.0.5

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: 3a942bd3168651b5f7219d57e3a1fa6562a177da
4
- data.tar.gz: 92931a6478619ecdb367ef13ac985fd3233ef438
3
+ metadata.gz: 73d4dd59073d34d88c4f1231e95ff418a2708545
4
+ data.tar.gz: d2011882c778c8b533e38abd9cf6474a788fad95
5
5
  SHA512:
6
- metadata.gz: 03ee3e5ff773c5033d575c1c31189781b23843fcb5e0eb96cd9bb3ccc87f5d500c2a35c4ce1b9e84d124dafd984654c30decab91d5a175fc6226f3463b84291c
7
- data.tar.gz: 2329026f1bbade73ab752ed85260e0b8c53024c78cb6f48bd286719c331338fe66461512c0ebb88fcb2a744d65e276ca98d9d7cb99a66bab8e9d5510ad1ca955
6
+ metadata.gz: b2de90420f81cb1f00ab7fca759bb00f9328eb95936ab7da44c0739c8f413c6d499a57c3cc9bfd5f7954e82785a206e755b67dc9d06551d3c75d0356f2f0bd89
7
+ data.tar.gz: a6d063c6ed9662de82ce18c2505003dc494afa8999628c8a9cf79153a82cd9c8089ef59ae13b0a3b85b38bc9465d5952c6121853bbdb8d502b921d668b1809a1
@@ -1,3 +1,3 @@
1
1
  module BetterCsv
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
data/lib/better_csv.rb CHANGED
@@ -16,6 +16,8 @@ module BetterCsv
16
16
  back = current
17
17
  if c == '"'
18
18
  in_literal = true
19
+ elsif c == ','
20
+ line << ""
19
21
  else
20
22
  token << c
21
23
  end
@@ -47,6 +49,8 @@ module BetterCsv
47
49
  if token.size > 0
48
50
  line << token
49
51
  yield(line) if block_given?
52
+ elsif current == ','
53
+ line << ''
50
54
  end
51
55
  csv << line if line.size > 0
52
56
 
@@ -55,9 +59,4 @@ module BetterCsv
55
59
  STDERR.puts e
56
60
  STDERR.puts e.backtrace
57
61
  end
58
-
59
- def each
60
-
61
-
62
- end
63
62
  end
@@ -16,6 +16,49 @@ describe BetterCsv do
16
16
  end
17
17
  end
18
18
 
19
+ context 'on missing first value csv test' do
20
+ str = ',b,c,d,e,f,g'
21
+ equal = [['','b','c','d','e','f','g']]
22
+
23
+ describe "sepalated with simply ',' == #{str} " do
24
+ it "shuld be #{equal.to_s}" do
25
+ expect(BetterCsv.parse(str)).to eq(equal)
26
+ end
27
+ end
28
+ end
29
+
30
+ context 'on missing last value csv test' do
31
+ str = 'b,c,d,e,f,g,'
32
+ equal = [['b','c','d','e','f','g','']]
33
+
34
+ describe "sepalated with simply ',' == #{str} " do
35
+ it "shuld be #{equal.to_s}" do
36
+ expect(BetterCsv.parse(str)).to eq(equal)
37
+ end
38
+ end
39
+ end
40
+
41
+ context 'on missing last value csv in more than 1 line csv test' do
42
+ str = "b,c,d,e,f,g,\nh,i,j,k,l,m,"
43
+ equal = [['b','c','d','e','f','g',''],['h','i','j','k','l','m','']]
44
+
45
+ describe "sepalated with simply ',' == #{str} " do
46
+ it "shuld be #{equal.to_s}" do
47
+ expect(BetterCsv.parse(str)).to eq(equal)
48
+ end
49
+ end
50
+ end
51
+
52
+ context 'on missing first value in more than 1 line csv test' do
53
+ str = ",b,c,d,e,f,g\n,h,i,j,k,l,m"
54
+ equal = [['','b','c','d','e','f','g'],['','h','i','j','k','l','m']]
55
+
56
+ describe "sepalated with simply ',' == #{str} " do
57
+ it "shuld be #{equal.to_s}" do
58
+ expect(BetterCsv.parse(str)).to eq(equal)
59
+ end
60
+ end
61
+ end
19
62
 
20
63
  context 'on including nil csv test' do
21
64
  str = 'a,b,,,,f,g'
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
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tatumaki
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-01 00:00:00.000000000 Z
11
+ date: 2015-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler