censive 1.0.0 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/censive.rb +5 -5
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 246be731b3c88020be3432707b0fb66b8624bc6ebd18b54dae56d813defc7ae9
4
- data.tar.gz: 13ee5d519f07b82c410a1afcdeaf01678be8e43de894b00e7d6a1bab09e9cf92
3
+ metadata.gz: 25f6217fb31687025a210892368bc405a34cc6628a5736f28f02ed02d76d93f1
4
+ data.tar.gz: daebdb56f27c498e1c0268a2bdc0df927242f193404d1f2bb8dd9995ec1a79ad
5
5
  SHA512:
6
- metadata.gz: a36473da2784c22dd99a4a414388699942d2bcfcbe87d3883f4efa4234922d99db4aa359102f9f56ae2d94d162d7391ca8caffdbaf3cf550f8a50a00b7b19fc5
7
- data.tar.gz: 27a07ae5bbcc85c5b48116b935cdd62d39d1b34bf66abf31ab255ab7562ee0fdd1ad44a42990387ee0057a5423175e00117de98c9484564b65e4baea2fda415a
6
+ metadata.gz: a6a1770695f7a9974ab0add960b9f8f6c1430746006899f04245a2dcd6c584a9227b596bd1d6d6a6a3c9d9229a420e7ae69e29944ce08d9fbd3b448fbb2b37c8
7
+ data.tar.gz: 991e9eca701c3c51ca72c6615bd322b9032b1e7642c96693fa02125629787e15a6193b4ac67b573406d03b0bdc5591e18152ca822d4ea105c8397c243bd42586
data/lib/censive.rb CHANGED
@@ -28,7 +28,7 @@
28
28
  require "strscan"
29
29
 
30
30
  class Censive < StringScanner
31
- VERSION="1.0.0"
31
+ VERSION="1.0.2"
32
32
 
33
33
  attr :encoding, :out, :rows
34
34
 
@@ -38,8 +38,8 @@ class Censive < StringScanner
38
38
 
39
39
  def self.writer(obj=nil, **opts, &code)
40
40
  case obj
41
- when String then File.open(obj, "w") {|io| new(out: io, **opts, &code) }
42
- when IO,nil then new(out: obj, **opts, &code)
41
+ when String then File.open(obj, "w") {|io| new(out: io, **opts, &code) }
42
+ when StringIO,IO,nil then new(out: obj, **opts, &code)
43
43
  else abort "#{File.basename($0)}: invalid #{obj.class} object in writer"
44
44
  end
45
45
  end
@@ -181,7 +181,7 @@ class Censive < StringScanner
181
181
  end
182
182
 
183
183
  def each
184
- @rows ||= parse
184
+ @rows or parse
185
185
  @rows.each {|row| yield row }
186
186
  end
187
187
 
@@ -199,7 +199,7 @@ class Censive < StringScanner
199
199
 
200
200
  # returns 2 (must be quoted and escaped), 1 (must be quoted), 0 (neither)
201
201
  def grok(str)
202
- if idx = str.index(@escapes)
202
+ if idx = str&.index(@escapes)
203
203
  $1 ? 2 : str.index(@quote, idx) ? 2 : 1
204
204
  else
205
205
  0
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: censive
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steve Shreeve
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-30 00:00:00.000000000 Z
11
+ date: 2023-06-08 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A quick and lightweight CSV handling library for Ruby
14
14
  email: steve.shreeve@gmail.com
@@ -47,7 +47,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
47
47
  - !ruby/object:Gem::Version
48
48
  version: '0'
49
49
  requirements: []
50
- rubygems_version: 3.4.10
50
+ rubygems_version: 3.4.1
51
51
  signing_key:
52
52
  specification_version: 4
53
53
  summary: A quick and lightweight CSV handling library for Ruby