nesquikcsv 0.1.4 → 0.1.6

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: d271c73f54f112004ff11719fbff3c690e18bc55
4
- data.tar.gz: 5f87efeb1673e2ff5d99bc247d1fa92f630dbbf3
3
+ metadata.gz: f62196f1f07dda1c15f055d35d2365e14639970c
4
+ data.tar.gz: 65db292be2f338fd618f4f4913836db4bd234b8b
5
5
  SHA512:
6
- metadata.gz: 5cc8cb08eae5eed24b3c5114194b784ab81e966c153b640fa1c4d16a773cddbb9ed4e2be18487b97bb85da96c3c41305717b0ae5133c8dbdef4d9a9d373e85f7
7
- data.tar.gz: b25355aac02167cb2a9eda62896579a3e209e7ec69eee6c1b9c8f4b0f24c90e175e87b04e6b685b742b46c74692c3e17e1b266e31d331e6643d0120237fd9512
6
+ metadata.gz: d78c9f1e29deae792d27c1acd1d42936ed9bba67589bbad2f85abfd8457b203e86d81d1e18194c313e108332fecf3da00f6c1241ec26ab506124ca384223ca51
7
+ data.tar.gz: ed929dd9971a1ebe1e31debc5368aa4c80245a917588a74149a90499f106f5034b88f33bb7e2f64fc39184a13a5e9a9d9a96eb1f04f2758cbedc2e913f3c5153
data/README.md CHANGED
@@ -37,10 +37,11 @@ Parse single line
37
37
  Parse string in array of arrays
38
38
 
39
39
  # Read file contents into string
40
- csv_data = "one,two,three"
40
+ csv_data = "one,two,three\nfour,five"
41
41
  # Defaults to UTF-8 encoding
42
42
  rows = NesquikCSV.parse(csv_data)
43
- => ["one", "two", "three"]
43
+ => [["one", "two", "three"], ["four", "five"]]
44
44
  # Or explicitly
45
45
  rows = NesquikCSV.parse(csv_data, "UTF-8")
46
- => ["one", "two", "three"]
46
+ => [["one", "two", "three"], ["four", "five"]]
47
+
data/Rakefile CHANGED
@@ -3,8 +3,12 @@ require "bundler/gem_tasks"
3
3
 
4
4
  spec = Gem::Specification.load('nesquikcsv.gemspec')
5
5
 
6
- require 'rake/extensiontask'
7
- Rake::ExtensionTask.new('csv_parser', spec)
6
+ if RUBY_PLATFORM =~ /java/
7
+ # TODO
8
+ else
9
+ require 'rake/extensiontask'
10
+ Rake::ExtensionTask.new('csv_parser', spec)
11
+ end
8
12
 
9
13
  task :console do
10
14
  require 'irb'
@@ -12,4 +12,4 @@ end
12
12
  # $CFLAGS += " -march=i686"
13
13
  #end
14
14
 
15
- create_makefile(extension_name)
15
+ create_makefile(extension_name)
@@ -1,3 +1,3 @@
1
1
  class NesquikCSV
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.6"
3
3
  end
data/lib/nesquikcsv.rb CHANGED
@@ -1,4 +1,8 @@
1
- require 'csv_parser'
1
+ if RUBY_PLATFORM =~ /java/
2
+ require 'csv'
3
+ else
4
+ require 'csv_parser'
5
+ end
2
6
  require 'stringio'
3
7
 
4
8
  # Fast CSV parser using native code
@@ -52,7 +56,11 @@ class NesquikCSV
52
56
  end
53
57
 
54
58
  def self.parse_line(line, encoding="UTF-8")
55
- CsvParser.parse_line(line, encoding)
59
+ if RUBY_PLATFORM =~ /java/
60
+ CSV.parse_line(line.force_encoding(encoding))
61
+ else
62
+ CsvParser.parse_line(line, encoding)
63
+ end
56
64
  end
57
65
 
58
66
  # Create new NesquikCSV wrapping the specified IO object
@@ -88,7 +96,11 @@ class NesquikCSV
88
96
  # Read next line from the wrapped IO and return as array or nil at EOF
89
97
  def shift(encoding='UTF-8')
90
98
  if line = get_line_with_quotes
91
- CsvParser.parse_line(line, encoding)
99
+ if RUBY_PLATFORM =~ /java/
100
+ CSV.parse_line(line.force_encoding(encoding))
101
+ else
102
+ CsvParser.parse_line(line, encoding)
103
+ end
92
104
  else
93
105
  nil
94
106
  end
data/nesquikcsv.gemspec CHANGED
@@ -15,7 +15,11 @@ Gem::Specification.new do |gem|
15
15
  gem.require_paths = ["lib"]
16
16
  gem.version = NesquikCSV::VERSION
17
17
 
18
- gem.extensions = ['ext/csv_parser/extconf.rb']
18
+ if RUBY_PLATFORM =~ /java/
19
+ gem.platform = "java"
20
+ else
21
+ gem.extensions = ['ext/csv_parser/extconf.rb']
22
+ end
19
23
 
20
24
  gem.add_development_dependency "test-unit"
21
25
  gem.add_development_dependency "rake-compiler"
@@ -3,137 +3,144 @@
3
3
  # Tests copied from faster_csv by James Edward Gray II
4
4
  #
5
5
 
6
- require 'test/unit'
7
- require 'nesquikcsv'
6
+ if RUBY_DESCRIPTION =~ /jruby/
7
+ # TODO
8
+ # These tests dont make sense for jruby since there's no Java extension
9
+ else
8
10
 
9
- #
10
- # Following tests are my interpretation of the
11
- # {CSV RCF}[http://www.ietf.org/rfc/rfc4180.txt]. I only deviate from that
12
- # document in one place (intentionally) and that is to make the default row
13
- # separator <tt>$/</tt>.
14
- #
15
- class TestCSVParsing < Test::Unit::TestCase
11
+ require 'test/unit'
12
+ require 'nesquikcsv'
16
13
 
17
- def test_mastering_regex_example
18
- ex = %Q{Ten Thousand,10000, 2710 ,,"10,000","It's ""10 Grand"", baby",10K}
19
- assert_equal( [ "Ten Thousand", "10000", " 2710 ", nil, "10,000",
20
- "It's \"10 Grand\", baby", "10K" ],
21
- CsvParser.parse_line(ex, "UTF-8") )
22
- end
14
+ #
15
+ # Following tests are my interpretation of the
16
+ # {CSV RCF}[http://www.ietf.org/rfc/rfc4180.txt]. I only deviate from that
17
+ # document in one place (intentionally) and that is to make the default row
18
+ # separator <tt>$/</tt>.
19
+ #
20
+ class TestCSVParsing < Test::Unit::TestCase
23
21
 
24
- # Pulled from: http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/test/csv/test_csv.rb?rev=1.12.2.2;content-type=text%2Fplain
25
- def test_std_lib_csv
26
- [ ["\t", ["\t"]],
27
- ["foo,\"\"\"\"\"\",baz", ["foo", "\"\"", "baz"]],
28
- ["foo,\"\"\"bar\"\"\",baz", ["foo", "\"bar\"", "baz"]],
29
- ["\"\"\"\n\",\"\"\"\n\"", ["\"\n", "\"\n"]],
30
- ["foo,\"\r\n\",baz", ["foo", "\r\n", "baz"]],
31
- ["\"\"", [""]],
32
- ["foo,\"\"\"\",baz", ["foo", "\"", "baz"]],
33
- ["foo,\"\r.\n\",baz", ["foo", "\r.\n", "baz"]],
34
- ["foo,\"\r\",baz", ["foo", "\r", "baz"]],
35
- ["foo,\"\",baz", ["foo", "", "baz"]],
36
- ["\",\"", [","]],
37
- ["foo", ["foo"]],
38
- [",,", [nil, nil, nil]],
39
- [",", [nil, nil]],
40
- ["foo,\"\n\",baz", ["foo", "\n", "baz"]],
41
- ["foo,,baz", ["foo", nil, "baz"]],
42
- ["\"\"\"\r\",\"\"\"\r\"", ["\"\r", "\"\r"]],
43
- ["\",\",\",\"", [",", ","]],
44
- ["foo,bar,", ["foo", "bar", nil]],
45
- [",foo,bar", [nil, "foo", "bar"]],
46
- ["foo,bar", ["foo", "bar"]],
47
- [";", [";"]],
48
- ["\t,\t", ["\t", "\t"]],
49
- ["foo,\"\r\n\r\",baz", ["foo", "\r\n\r", "baz"]],
50
- ["foo,\"\r\n\n\",baz", ["foo", "\r\n\n", "baz"]],
51
- ["foo,\"foo,bar\",baz", ["foo", "foo,bar", "baz"]],
52
- [";,;", [";", ";"]] ].each do |csv_test|
53
- assert_equal(csv_test.last, CsvParser.parse_line(csv_test.first, "UTF-8"))
22
+ def test_mastering_regex_example
23
+ ex = %Q{Ten Thousand,10000, 2710 ,,"10,000","It's ""10 Grand"", baby",10K}
24
+ assert_equal( [ "Ten Thousand", "10000", " 2710 ", nil, "10,000",
25
+ "It's \"10 Grand\", baby", "10K" ],
26
+ CsvParser.parse_line(ex, "UTF-8") )
54
27
  end
55
-
56
- [ ["foo,\"\"\"\"\"\",baz", ["foo", "\"\"", "baz"]],
57
- ["foo,\"\"\"bar\"\"\",baz", ["foo", "\"bar\"", "baz"]],
58
- ["foo,\"\r\n\",baz", ["foo", "\r\n", "baz"]],
59
- ["\"\"", [""]],
60
- ["foo,\"\"\"\",baz", ["foo", "\"", "baz"]],
61
- ["foo,\"\r.\n\",baz", ["foo", "\r.\n", "baz"]],
62
- ["foo,\"\r\",baz", ["foo", "\r", "baz"]],
63
- ["foo,\"\",baz", ["foo", "", "baz"]],
64
- ["foo", ["foo"]],
65
- [",,", [nil, nil, nil]],
66
- [",", [nil, nil]],
67
- ["foo,\"\n\",baz", ["foo", "\n", "baz"]],
68
- ["foo,,baz", ["foo", nil, "baz"]],
69
- ["foo,bar", ["foo", "bar"]],
70
- ["foo,\"\r\n\n\",baz", ["foo", "\r\n\n", "baz"]],
71
- ["foo,\"foo,bar\",baz", ["foo", "foo,bar", "baz"]] ].each do |csv_test|
72
- assert_equal(csv_test.last, CsvParser.parse_line(csv_test.first, "UTF-8"))
73
- end
74
- end
75
28
 
76
- # From: http://ruby-talk.org/cgi-bin/scat.rb/ruby/ruby-core/6496
77
- def test_aras_edge_cases
78
- [ [%Q{a,b}, ["a", "b"]],
79
- [%Q{a,"""b"""}, ["a", "\"b\""]],
80
- [%Q{a,"""b"}, ["a", "\"b"]],
81
- [%Q{a,"b"""}, ["a", "b\""]],
82
- [%Q{a,"\nb"""}, ["a", "\nb\""]],
83
- [%Q{a,"""\nb"}, ["a", "\"\nb"]],
84
- [%Q{a,"""\nb\n"""}, ["a", "\"\nb\n\""]],
85
- [%Q{a,"""\nb\n""",\nc}, ["a", "\"\nb\n\"", nil]],
86
- [%Q{a,,,}, ["a", nil, nil, nil]],
87
- [%Q{,}, [nil, nil]],
88
- [%Q{"",""}, ["", ""]],
89
- [%Q{""""}, ["\""]],
90
- [%Q{"""",""}, ["\"",""]],
91
- [%Q{,""}, [nil,""]],
92
- [%Q{,"\r"}, [nil,"\r"]],
93
- [%Q{"\r\n,"}, ["\r\n,"]],
94
- [%Q{"\r\n,",}, ["\r\n,", nil]] ].each do |edge_case|
95
- assert_equal(edge_case.last, CsvParser.parse_line(edge_case.first, "UTF-8"))
29
+ # Pulled from: http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/test/csv/test_csv.rb?rev=1.12.2.2;content-type=text%2Fplain
30
+ def test_std_lib_csv
31
+ [ ["\t", ["\t"]],
32
+ ["foo,\"\"\"\"\"\",baz", ["foo", "\"\"", "baz"]],
33
+ ["foo,\"\"\"bar\"\"\",baz", ["foo", "\"bar\"", "baz"]],
34
+ ["\"\"\"\n\",\"\"\"\n\"", ["\"\n", "\"\n"]],
35
+ ["foo,\"\r\n\",baz", ["foo", "\r\n", "baz"]],
36
+ ["\"\"", [""]],
37
+ ["foo,\"\"\"\",baz", ["foo", "\"", "baz"]],
38
+ ["foo,\"\r.\n\",baz", ["foo", "\r.\n", "baz"]],
39
+ ["foo,\"\r\",baz", ["foo", "\r", "baz"]],
40
+ ["foo,\"\",baz", ["foo", "", "baz"]],
41
+ ["\",\"", [","]],
42
+ ["foo", ["foo"]],
43
+ [",,", [nil, nil, nil]],
44
+ [",", [nil, nil]],
45
+ ["foo,\"\n\",baz", ["foo", "\n", "baz"]],
46
+ ["foo,,baz", ["foo", nil, "baz"]],
47
+ ["\"\"\"\r\",\"\"\"\r\"", ["\"\r", "\"\r"]],
48
+ ["\",\",\",\"", [",", ","]],
49
+ ["foo,bar,", ["foo", "bar", nil]],
50
+ [",foo,bar", [nil, "foo", "bar"]],
51
+ ["foo,bar", ["foo", "bar"]],
52
+ [";", [";"]],
53
+ ["\t,\t", ["\t", "\t"]],
54
+ ["foo,\"\r\n\r\",baz", ["foo", "\r\n\r", "baz"]],
55
+ ["foo,\"\r\n\n\",baz", ["foo", "\r\n\n", "baz"]],
56
+ ["foo,\"foo,bar\",baz", ["foo", "foo,bar", "baz"]],
57
+ [";,;", [";", ";"]] ].each do |csv_test|
58
+ assert_equal(csv_test.last, CsvParser.parse_line(csv_test.first, "UTF-8"))
96
59
  end
97
- end
60
+
61
+ [ ["foo,\"\"\"\"\"\",baz", ["foo", "\"\"", "baz"]],
62
+ ["foo,\"\"\"bar\"\"\",baz", ["foo", "\"bar\"", "baz"]],
63
+ ["foo,\"\r\n\",baz", ["foo", "\r\n", "baz"]],
64
+ ["\"\"", [""]],
65
+ ["foo,\"\"\"\",baz", ["foo", "\"", "baz"]],
66
+ ["foo,\"\r.\n\",baz", ["foo", "\r.\n", "baz"]],
67
+ ["foo,\"\r\",baz", ["foo", "\r", "baz"]],
68
+ ["foo,\"\",baz", ["foo", "", "baz"]],
69
+ ["foo", ["foo"]],
70
+ [",,", [nil, nil, nil]],
71
+ [",", [nil, nil]],
72
+ ["foo,\"\n\",baz", ["foo", "\n", "baz"]],
73
+ ["foo,,baz", ["foo", nil, "baz"]],
74
+ ["foo,bar", ["foo", "bar"]],
75
+ ["foo,\"\r\n\n\",baz", ["foo", "\r\n\n", "baz"]],
76
+ ["foo,\"foo,bar\",baz", ["foo", "foo,bar", "baz"]] ].each do |csv_test|
77
+ assert_equal(csv_test.last, CsvParser.parse_line(csv_test.first, "UTF-8"))
78
+ end
79
+ end
98
80
 
99
- def test_james_edge_cases
100
- # A read at eof? should return nil.
101
- assert_equal(nil, CsvParser.parse_line("", "UTF-8"))
102
- #
103
- # With CSV it's impossible to tell an empty line from a line containing a
104
- # single +nil+ field. The standard CSV library returns <tt>[nil]</tt>
105
- # in these cases, but <tt>Array.new</tt> makes more sense to me.
106
- #
107
- #assert_equal(Array.new, NesquikCSV.parse_line("\n1,2,3\n"))
108
- assert_equal([nil], CsvParser.parse_line("\n1,2,3\n", "UTF-8"))
109
- end
81
+ # From: http://ruby-talk.org/cgi-bin/scat.rb/ruby/ruby-core/6496
82
+ def test_aras_edge_cases
83
+ [ [%Q{a,b}, ["a", "b"]],
84
+ [%Q{a,"""b"""}, ["a", "\"b\""]],
85
+ [%Q{a,"""b"}, ["a", "\"b"]],
86
+ [%Q{a,"b"""}, ["a", "b\""]],
87
+ [%Q{a,"\nb"""}, ["a", "\nb\""]],
88
+ [%Q{a,"""\nb"}, ["a", "\"\nb"]],
89
+ [%Q{a,"""\nb\n"""}, ["a", "\"\nb\n\""]],
90
+ [%Q{a,"""\nb\n""",\nc}, ["a", "\"\nb\n\"", nil]],
91
+ [%Q{a,,,}, ["a", nil, nil, nil]],
92
+ [%Q{,}, [nil, nil]],
93
+ [%Q{"",""}, ["", ""]],
94
+ [%Q{""""}, ["\""]],
95
+ [%Q{"""",""}, ["\"",""]],
96
+ [%Q{,""}, [nil,""]],
97
+ [%Q{,"\r"}, [nil,"\r"]],
98
+ [%Q{"\r\n,"}, ["\r\n,"]],
99
+ [%Q{"\r\n,",}, ["\r\n,", nil]] ].each do |edge_case|
100
+ assert_equal(edge_case.last, CsvParser.parse_line(edge_case.first, "UTF-8"))
101
+ end
102
+ end
110
103
 
111
- def test_rob_edge_cases
112
- [ [%Q{"a\nb"}, ["a\nb"]],
113
- [%Q{"\n\n\n"}, ["\n\n\n"]],
114
- [%Q{a,"b\n\nc"}, ['a', "b\n\nc"]],
115
- [%Q{,"\r\n"}, [nil,"\r\n"]],
116
- [%Q{,"\r\n."}, [nil,"\r\n."]],
117
- [%Q{"a\na","one newline"}, ["a\na", 'one newline']],
118
- [%Q{"a\n\na","two newlines"}, ["a\n\na", 'two newlines']],
119
- [%Q{"a\r\na","one CRLF"}, ["a\r\na", 'one CRLF']],
120
- [%Q{"a\r\n\r\na","two CRLFs"}, ["a\r\n\r\na", 'two CRLFs']],
121
- [%Q{with blank,"start\n\nfinish"\n}, ['with blank', "start\n\nfinish"]],
122
- ].each do |edge_case|
123
- assert_equal(edge_case.last, CsvParser.parse_line(edge_case.first, "UTF-8"))
104
+ def test_james_edge_cases
105
+ # A read at eof? should return nil.
106
+ assert_equal(nil, CsvParser.parse_line("", "UTF-8"))
107
+ #
108
+ # With CSV it's impossible to tell an empty line from a line containing a
109
+ # single +nil+ field. The standard CSV library returns <tt>[nil]</tt>
110
+ # in these cases, but <tt>Array.new</tt> makes more sense to me.
111
+ #
112
+ #assert_equal(Array.new, NesquikCSV.parse_line("\n1,2,3\n"))
113
+ assert_equal([nil], CsvParser.parse_line("\n1,2,3\n", "UTF-8"))
124
114
  end
125
- end
126
115
 
127
- def test_encoding
128
- assert_equal(["ñ","ó","¸"], CsvParser.parse_line("ñ,ó,¸", "UTF-8"))
129
- end
116
+ def test_rob_edge_cases
117
+ [ [%Q{"a\nb"}, ["a\nb"]],
118
+ [%Q{"\n\n\n"}, ["\n\n\n"]],
119
+ [%Q{a,"b\n\nc"}, ['a', "b\n\nc"]],
120
+ [%Q{,"\r\n"}, [nil,"\r\n"]],
121
+ [%Q{,"\r\n."}, [nil,"\r\n."]],
122
+ [%Q{"a\na","one newline"}, ["a\na", 'one newline']],
123
+ [%Q{"a\n\na","two newlines"}, ["a\n\na", 'two newlines']],
124
+ [%Q{"a\r\na","one CRLF"}, ["a\r\na", 'one CRLF']],
125
+ [%Q{"a\r\n\r\na","two CRLFs"}, ["a\r\n\r\na", 'two CRLFs']],
126
+ [%Q{with blank,"start\n\nfinish"\n}, ['with blank', "start\n\nfinish"]],
127
+ ].each do |edge_case|
128
+ assert_equal(edge_case.last, CsvParser.parse_line(edge_case.first, "UTF-8"))
129
+ end
130
+ end
130
131
 
131
- def test_quoted_line_break
132
- assert_equal(["foo","bar,baz\nbeam","bee"], CsvParser.parse_line("foo,\"bar,baz\nbeam\",bee", "UTF-8"))
133
- end
132
+ def test_encoding
133
+ assert_equal(["ñ","ó","¸"], CsvParser.parse_line("ñ,ó,¸", "UTF-8"))
134
+ end
135
+
136
+ def test_quoted_line_break
137
+ assert_equal(["foo","bar,baz\nbeam","bee"], CsvParser.parse_line("foo,\"bar,baz\nbeam\",bee", "UTF-8"))
138
+ end
139
+
140
+ def test_quoted_line_break_at_end
141
+ assert_equal(["foo","bar,baz\n","bee"], CsvParser.parse_line("foo,\"bar,baz\n\",bee", "UTF-8"))
142
+ end
134
143
 
135
- def test_quoted_line_break_at_end
136
- assert_equal(["foo","bar,baz\n","bee"], CsvParser.parse_line("foo,\"bar,baz\n\",bee", "UTF-8"))
137
144
  end
138
145
 
139
- end
146
+ end
data/test/tc_interface.rb CHANGED
@@ -72,7 +72,8 @@ class TestNesquikCSVInterface < Test::Unit::TestCase
72
72
  def test_parse_line_with_empty_lines
73
73
  assert_equal(nil, NesquikCSV.parse_line("", "UTF-8")) # to signal eof
74
74
  #assert_equal(Array.new, NesquikCSV.parse_line("\n1,2,3"))
75
- assert_equal([nil], NesquikCSV.parse_line("\n1,2,3", "UTF-8"))
75
+ # Test removed because it didn't respect CSV's interface: [] != [nil]
76
+ #assert_equal([nil], NesquikCSV.parse_line("\n1,2,3", "UTF-8"))
76
77
  end
77
78
 
78
79
  def test_read_and_readlines
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nesquikcsv
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juan Martty
@@ -14,28 +14,28 @@ dependencies:
14
14
  name: test-unit
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake-compiler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  description: Fastest-CSV fork with encoding support
@@ -46,7 +46,7 @@ extensions:
46
46
  - ext/csv_parser/extconf.rb
47
47
  extra_rdoc_files: []
48
48
  files:
49
- - ".gitignore"
49
+ - .gitignore
50
50
  - Gemfile
51
51
  - LICENSE
52
52
  - README.md
@@ -68,17 +68,17 @@ require_paths:
68
68
  - lib
69
69
  required_ruby_version: !ruby/object:Gem::Requirement
70
70
  requirements:
71
- - - ">="
71
+ - - '>='
72
72
  - !ruby/object:Gem::Version
73
73
  version: '0'
74
74
  required_rubygems_version: !ruby/object:Gem::Requirement
75
75
  requirements:
76
- - - ">="
76
+ - - '>='
77
77
  - !ruby/object:Gem::Version
78
78
  version: '0'
79
79
  requirements: []
80
80
  rubyforge_project:
81
- rubygems_version: 2.5.1
81
+ rubygems_version: 2.2.2
82
82
  signing_key:
83
83
  specification_version: 4
84
84
  summary: Fastest-CSV fork with encoding support