censive 0.1 → 0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/censive.gemspec +1 -1
- data/lib/censive.rb +29 -27
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 654d5b8603cb9d50881c9b4289a27722f0bbc3e3c7607b86f99a5b2e3014de38
|
4
|
+
data.tar.gz: 18ce8e5b1c8596c314aa90110ac541218ea7382daa5b863ab96925bb8b0dd26d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e94f1c8147463ab51d0aa4bda19792f255a6458ecd0abd4ebcb2a3f2d286a1cc41771af4be85285b901f8b2a856914f482230595d82b735b5fca076d0d8d498e
|
7
|
+
data.tar.gz: 2949df7cadab7b0e7a091eddeb057bb73288e32f7493d420556fb42886531fbd77e59143d4c2e0119a0f4994245fa726d70bff39c8dd8f3e17195369827ff041
|
data/censive.gemspec
CHANGED
data/lib/censive.rb
CHANGED
@@ -18,14 +18,16 @@
|
|
18
18
|
require 'strscan'
|
19
19
|
|
20
20
|
class Censive < StringScanner
|
21
|
-
def initialize(
|
22
|
-
super
|
21
|
+
def initialize(string, sep: ',', quote: '"')
|
22
|
+
super(string)
|
23
23
|
reset
|
24
|
-
|
25
|
-
@
|
26
|
-
@
|
27
|
-
|
28
|
-
@
|
24
|
+
|
25
|
+
@sep = sep .freeze
|
26
|
+
@quote = quote.freeze
|
27
|
+
|
28
|
+
@es = "" .freeze
|
29
|
+
@cr = "\r" .freeze
|
30
|
+
@lf = "\n" .freeze
|
29
31
|
end
|
30
32
|
|
31
33
|
def reset
|
@@ -111,23 +113,23 @@ class Censive < StringScanner
|
|
111
113
|
puts "%#{wide}d bytes" % string.size
|
112
114
|
end
|
113
115
|
end
|
114
|
-
|
115
|
-
# ==[ Test it out... ]==
|
116
|
-
|
117
|
-
ARGV << "z.csv" if ARGV.empty?
|
118
|
-
|
119
|
-
case 1
|
120
|
-
when 1
|
121
|
-
|
122
|
-
|
123
|
-
when 2
|
124
|
-
|
125
|
-
end
|
126
|
-
|
127
|
-
STDOUT.sync = true
|
128
|
-
|
129
|
-
csv = Censive.new(data)
|
130
|
-
|
131
|
-
data.size > 1e6 ? csv.parse : csv.parse.each {|cols| p cols }
|
132
|
-
|
133
|
-
csv.stats
|
116
|
+
#
|
117
|
+
# # ==[ Test it out... ]==
|
118
|
+
#
|
119
|
+
# ARGV << "z.csv" if ARGV.empty?
|
120
|
+
#
|
121
|
+
# case 1
|
122
|
+
# when 1
|
123
|
+
# path = ARGV.first
|
124
|
+
# data = File.read(path)
|
125
|
+
# when 2
|
126
|
+
# data = DATA.gets("\n\n").rstrip
|
127
|
+
# end
|
128
|
+
#
|
129
|
+
# STDOUT.sync = true
|
130
|
+
#
|
131
|
+
# csv = Censive.new(data)
|
132
|
+
#
|
133
|
+
# data.size > 1e6 ? csv.parse : csv.parse.each {|cols| p cols }
|
134
|
+
#
|
135
|
+
# csv.stats
|