safebool 1.0.0 → 1.1.0

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: e5a56c5aa20a4d11dd6ce2ebba0546355956cf02
4
- data.tar.gz: d2e2851c0a079a483bb3521f4904492b010eb1e5
3
+ metadata.gz: 3259e4df2ebfb2f5359249c7d1fc87dbb03c23d3
4
+ data.tar.gz: 8357baa33140416175df3b652581a30a381e0d9e
5
5
  SHA512:
6
- metadata.gz: c1f80ebf778f848f3db67011ef045d92ffba850f7b67e9fb4565d8851567597bad4715a30246796a43056c4bb0138de182cfccad455e7acaf24407dac7d3f716
7
- data.tar.gz: a95229a84ee2dd89555e09885320a22b2daae5cf38d279f59e63005969466419c0642ff5859127fec50467194c206b819b5684bf9616843ba0a859f5f5f1f204
6
+ metadata.gz: 12332af592e5acda2b25cfc6919c281c304fa0ed82f3804dab36736c32476e74d9cbc2c5d7f807b111f2fbc72cd210fa6858a0feb5ff2ef3b051aa7c633bfb68
7
+ data.tar.gz: ff2e864c3b041f56b78be5ef1a1342984487affd5d56b8ef440c495fd69889b4a75c7bdb701e9980c36d49c5b9481747a5eec25c54338d5666ad20c5b1438705
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
  # Safe Bool Type - `Bool()`, `to_b`, `to_bool`, and More
3
3
 
4
4
 
5
- safebool gem / library - safe bool(ean) type adds `Bool()`, `to_b`, `to_bool`, `bool?`, `false?`, `true?`, `true.is_a?(Bool)==true`, `false.is_a?(Bool)==true`, and more
5
+ safebool gem / library - safe bool / boolean type adds `Bool()`, `to_b`, `parse_bool` / `to_bool`, `bool?`, `false?`, `true?`, `true.is_a?(Bool)==true`, `false.is_a?(Bool)==true`, and more
6
6
 
7
7
 
8
8
  * home :: [github.com/s6ruby/safebool](https://github.com/s6ruby/safebool)
@@ -25,10 +25,25 @@ false.class.ancestors #=> [FalseClass, Object, Kernel, BasicObject]
25
25
 
26
26
  # -or-
27
27
 
28
+ false.to_s #=> "false"
29
+ true.to_s #=> "true"
30
+ false.to_i #=> NoMethodError: undefined method `to_i' for false:FalseClass
31
+ true.to_i #=> NoMethodError: undefined method `to_i' for true:TrueClass
32
+ Integer(false) #=> TypeError: can't convert false into Integer
33
+ Integer(true) #=> TypeError: can't convert true into Integer
34
+
35
+ # -or-
36
+
37
+ "false".to_b #=> NoMethodError: undefined method `to_b' for String
38
+ 0.to_b #=> NoMethodError: undefined method `to_b' for Integer
39
+ Bool("false") #=> NoMethodError: undefined method `Bool' for Kernel
40
+ Bool(0) #=> NoMethodError: undefined method `Bool' for Kernel
41
+
28
42
  "true".to_b #=> NoMethodError: undefined method `to_b' for String
29
43
  1.to_b #=> NoMethodError: undefined method `to_b' for Integer
30
44
  Bool("true") #=> NoMethodError: undefined method `Bool' for Kernel
31
45
  Bool(1) #=> NoMethodError: undefined method `Bool' for Kernel
46
+
32
47
  ...
33
48
  ```
34
49
 
@@ -38,6 +53,13 @@ Why? Why not? Discuss.
38
53
 
39
54
  ## Usage
40
55
 
56
+ [String](#string) •
57
+ [Symbol](#symbol) •
58
+ [Integer](#integer) •
59
+ [Kernel](#kernel)
60
+
61
+
62
+
41
63
  ``` ruby
42
64
  false.is_a?(Bool) #=> true
43
65
  true.is_a?(Bool) #=> true
@@ -46,35 +68,168 @@ false.class.ancestors #=> [FalseClass, Bool, Object, Kernel, BasicObject]
46
68
 
47
69
  # -or-
48
70
 
49
- "true".to_b #=> true
50
- 1.to_b #=> true
51
- Bool("true") #=> true
52
- Bool(1) #=> true
71
+ false.to_i #=> 0
72
+ true.to_i #=> 1
73
+
74
+ # -or-
53
75
 
54
76
  "false".to_b #=> false
55
77
  0.to_b #=> false
56
78
  Bool("false") #=> false
57
79
  Bool(0) #=> false
80
+
81
+ "true".to_b #=> true
82
+ 1.to_b #=> true
83
+ Bool("true") #=> true
84
+ Bool(1) #=> true
58
85
  ```
59
86
 
87
+
60
88
  How about handling errors on invalid bool values when converting / parsing?
61
89
 
62
- 1. `to_b` always return a bool even if the conversion / parsing failed e.g. `true` (for numbers) and `false` (for strings) on error
63
- 2. `parse_bool/to_bool` always returns `nil` if the conversion / parsing failed
64
- 3. `Bool()` always raises a `TypeError` if the conversion / parsing failed
90
+ 1. `to_b` always returns a bool even if the conversion / parsing fails e.g. `true` (for numbers) and `false` (for strings) on error
91
+ 2. `parse_bool / to_bool` always returns `nil` if the conversion / parsing fails
92
+ 3. `Bool()` always raises an `ArgumentError` if the conversion / parsing fails
93
+ and a `TypeError` if the conversion is unsupported (e.g. expected required `parse_bool` method missing / undefined)
65
94
 
66
95
 
67
96
  ``` ruby
68
- "2".to_b #=> false
69
- "2".to_bool #=> nil
70
- 2.to_b #=> true
71
- 2.to_bool #=> nil
72
- Bool("2") #=> TypeError: cannot convert "2":String to Bool; method parse_bool/to_bool expected
73
- Bool(2) #=> TypeError: cannot convert 2:Fixnum to Bool; method parse_bool/to_bool expected
97
+ "2".to_b #=> false
98
+ "2".to_bool #=> nil
99
+ "2".to_bool.bool? #=> false
100
+ "2".to_bool.is_a?(Bool) #=> false
101
+ Bool("2") #=> ArgumentError: invalid value "2":String for Bool(); parse_bool failed (returns nil)
102
+
103
+ 2.to_b #=> true
104
+ 2.to_bool #=> nil
105
+ 2.to_bool.bool? #=> false
106
+ 2.to_bool.is_a?(Bool) #=> false
107
+ Bool(2) #=> ArgumentError: invalid value 2:Integer for Bool(); parse_bool failed (returns nil)
74
108
  ...
75
109
  ```
76
110
 
77
111
 
112
+ ### String
113
+
114
+ - Returns `true` if string is one of these values: **t**, **true**, **on**, **y**, **yes**, **1**.
115
+ - Returns `false` if string is one of these values: **f**, **false**, **off**, **n**, **no**, **0**.
116
+
117
+ For invalid boolean string values `to_b` returns `false` by default.
118
+ See the "Handling Errors" section for more options.
119
+
120
+ Note: The `Bool.parse` method ignores leading and trailing spaces and upper and lower cases e.g. ` FaLSe ` is the same as `false`.
121
+
122
+ ```ruby
123
+ '1'.to_b #=> true
124
+ 't'.to_b #=> true
125
+ 'T'.to_b #=> true
126
+ 'true'.to_b #=> true
127
+ 'TRUE'.to_b #=> true
128
+ 'on'.to_b #=> true
129
+ 'ON'.to_b #=> true
130
+ 'y'.to_b #=> true
131
+ 'yes'.to_b #=> true
132
+ 'YES'.to_b #=> true
133
+
134
+ ' 1 '.to_b #=> true
135
+ ' t '.to_b #=> true
136
+ ' T '.to_b #=> true
137
+ ' true '.to_b #=> true
138
+ ' TRUE '.to_b #=> true
139
+ ' on '.to_b #=> true
140
+ ' ON '.to_b #=> true
141
+ ' y '.to_b #=> true
142
+ 'Y'.to_b #=> true
143
+ ' Y '.to_b #=> true
144
+ ' yes '.to_b #=> true
145
+ ' YES '.to_b #=> true
146
+
147
+ '0'.to_b #=> false
148
+ 'f'.to_b #=> false
149
+ 'F'.to_b #=> false
150
+ 'false'.to_b #=> false
151
+ 'FALSE'.to_b #=> false
152
+ 'off'.to_b #=> false
153
+ 'OFF'.to_b #=> false
154
+ 'n'.to_b #=> false
155
+ 'N'.to_b #=> false
156
+ 'no'.to_b #=> false
157
+ 'NO'.to_b #=> false
158
+
159
+ ' 0 '.to_b #=> false
160
+ ' f '.to_b #=> false
161
+ ' F '.to_b #=> false
162
+ ' false '.to_b #=> false
163
+ ' FALSE '.to_b #=> false
164
+ ' off '.to_b #=> false
165
+ ' OFF '.to_b #=> false
166
+ ' n '.to_b #=> false
167
+ ' N '.to_b #=> false
168
+ ' no '.to_b #=> false
169
+ ' NO '.to_b #=> false
170
+
171
+ ''.to_b #=> false
172
+ ' '.to_b #=> false
173
+ 'xxx'.to_b #=> false
174
+ 'bool'.to_b #=> false
175
+
176
+ ''.to_bool #=> nil
177
+ ' '.to_bool #=> nil
178
+ 'xxx'.to_bool #=> nil
179
+ 'bool'.to_bool #=> nil
180
+ ```
181
+
182
+ ### Symbol
183
+
184
+ Same as `self.to_s.to_b` or `self.to_s.to_bool`.
185
+
186
+ ``` ruby
187
+ :'1'.to_b #=> true
188
+ :t.to_b #=> true
189
+ :true.to_b #=> true
190
+ :on.to_b #=> true
191
+ :y.to_b #=> true
192
+ :yes.to_b #=> true
193
+
194
+ :'0'.to_b #=> false
195
+ :f.to_b #=> false
196
+ :false.to_b #=> false
197
+ :off.to_b #=> false
198
+ :n.to_b #=> false
199
+ :no.to_b #=> false
200
+
201
+ :xxx.to_b #=> false
202
+ :bool.to_b #=> false
203
+
204
+ :xxx.to_bool #=> nil
205
+ :bool.to_bool #=> nil
206
+ ```
207
+
208
+
209
+
210
+
211
+ ### Integer
212
+
213
+ Returns `false` if the number is zero and `true` otherwise.
214
+
215
+
216
+ ```ruby
217
+ 0.to_b #=> false
218
+ 1.to_b #=> true
219
+ 2.to_b #=> true
220
+ -1.to_b #=> true
221
+ -2.to_b #=> true
222
+
223
+ 0.to_bool #=> false
224
+ 1.to_bool #=> true
225
+
226
+ 2.to_bool #=> nil
227
+ -1.to_bool #=> nil
228
+ -2.to_bool #=> nil
229
+ ```
230
+
231
+
232
+ ### Kernel
78
233
 
79
234
  More methods added to `Kernel` include `bool?`, `false?`, `true?`.
80
235
  Example:
data/Rakefile CHANGED
@@ -5,7 +5,7 @@ Hoe.spec 'safebool' do
5
5
 
6
6
  self.version = SaferBool::VERSION
7
7
 
8
- self.summary = "safebool - safe bool(ean) type adds Bool(), to_b, to_bool, bool?, false?, true?, true.is_a?(Bool)==true, false.is_a?(Bool)==true, and more"
8
+ self.summary = "safebool - safe bool / boolean type adds Bool(), to_b, parse_bool / to_bool, bool?, false?, true?, true.is_a?(Bool)==true, false.is_a?(Bool)==true, and more"
9
9
  self.description = summary
10
10
 
11
11
  self.urls = ['https://github.com/s6ruby/safebool']
data/lib/safebool.rb CHANGED
@@ -30,27 +30,22 @@ module Bool
30
30
 
31
31
 
32
32
  def self.convert( o ) ## used by "global" Bool( o ) kernel conversion method
33
- value = if o.respond_to?( :to_bool )
34
- o.to_bool # returns true/false/nil
35
- elsif o.respond_to?( :parse_bool ) ## check parse_bool alias
36
- o.parse_bool # returns true/false/nil
37
- else
38
- nil
39
- end
40
-
41
- if value.nil?
42
- raise TypeError.new( "cannot convert >#{o.inspect}< of type >#{o.class.name}< to Bool; method parse_bool/to_bool expected")
43
- else
33
+ if o.respond_to?( :parse_bool )
34
+ value = o.parse_bool() # note: returns true/false OR nil
35
+ if value.nil?
36
+ raise ArgumentError.new( "invalid value >#{o.inspect}< of type >#{o.class.name}< for Bool(); method parse_bool failed (returns nil)")
37
+ end
44
38
  value
39
+ else
40
+ raise TypeError.new( "can't convert >#{o.inspect}< of type >#{o.class.name}< to Bool; method parse_bool expected / missing")
45
41
  end
46
42
  end
47
43
 
48
- def self.zero() false; end ## note: false.frozen? == true by default
44
+ def self.zero() false; end
49
45
 
50
46
 
51
47
  def to_b() self; end
52
48
  def parse_bool() self; end
53
- alias_method :to_bool, :parse_bool
54
49
  end # module Bool
55
50
 
56
51
 
@@ -59,12 +54,21 @@ class FalseClass
59
54
  include Bool ## "hack" - enables false.is_a?(Bool)
60
55
 
61
56
  def zero?() true; end
57
+ def to_i() 0; end
58
+
59
+ ## note: include Bool does NOT include module function (e.g. self.zero, etc.)
60
+ ## todo/check/discuss - also include self.parse - why? why not?
61
+ def self.zero() false; end ## lets you write: false.class.zero
62
62
  end
63
63
 
64
64
  class TrueClass
65
65
  include Bool ## "hack" - enables true.is_a?(Bool)
66
66
 
67
67
  def zero?() false; end
68
+ def to_i() 1; end
69
+
70
+ ## note: include Bool does NOT include module function (e.g. self.zero, etc.)
71
+ def self.zero() false; end ## lets you write: true.class.zero
68
72
  end
69
73
 
70
74
 
@@ -100,10 +104,29 @@ module Kernel
100
104
 
101
105
 
102
106
  #####
103
- # default "explicit" conversion to bool for all objects
104
- def to_b() self ? true : false; end
107
+ # default "explicit" conversion to bool for all objects
108
+ def to_b
109
+ if respond_to?( :parse_bool )
110
+ value = parse_bool() # note: returns true/false/nil (nil for error/cannot parse)
111
+ value = true if value.nil? # default nil (cannot parse to bool) to true
112
+ value
113
+ else
114
+ self ? true : false ## use "standard" ruby semantics, that is, everything is true except false & nil
115
+ end
116
+ end
105
117
 
106
118
 
119
+ # to_bool - "porcelain" method "alias" for parse_bool; use parse_bool for "internal" use and to_bool for "external" use
120
+ # note: by "default" the method parse_bool is undefined (!);
121
+ # define parse_bool in concrete / derived class to add bool conversion support
122
+ def to_bool()
123
+ if respond_to?( :parse_bool )
124
+ parse_bool()
125
+ else
126
+ nil ## note: returns nil if can't convert to true or false
127
+ end
128
+ end
129
+
107
130
  ### "global" conversion function / method
108
131
  def Bool( o ) Bool.convert( o ); end
109
132
  end
@@ -111,44 +134,41 @@ end
111
134
 
112
135
 
113
136
  class NilClass
114
- def to_b() false; end
137
+ def to_b() false; end
115
138
  def parse_bool() false; end
116
- alias_method :to_bool, :parse_bool
117
139
  end
118
140
 
119
141
  class String
120
142
  def to_b
121
143
  value = parse_bool()
122
- value.nil? ? false : value ## note return false for all undefined / unknown string values
144
+ value = false if value.nil? ## note: return false (!) for all undefined / unknown string values that cannot convert to bool
145
+ value
123
146
  end
124
147
  def parse_bool() Bool.parse( self ); end
125
- alias_method :to_bool, :parse_bool
126
148
  end
127
149
 
128
150
  class Symbol
129
- def to_b() to_s.to_b; end
151
+ def to_b() to_s.to_b; end
130
152
  def parse_bool() to_s.parse_bool(); end
131
- alias_method :to_bool, :parse_bool
132
153
  end
133
154
 
134
- class Numeric
135
- def to_b()
155
+ class Integer
156
+ def to_b
136
157
  value = parse_bool()
137
- value.nil? ? true : value ## note return **true** for all undefined / unknown number/numeric values
158
+ value = true if value.nil? ## note return true for all undefined / unknown number/numeric values that cannot convert to bool
159
+ value
138
160
  end
139
- def parse_bool()
161
+ def parse_bool
140
162
  if self == 0
141
163
  false
142
164
  elsif self == 1
143
165
  true
144
166
  else
145
- nil ## note: returns nil if cannot convert to true or false
167
+ nil ## note: returns nil if can't convert to true or false
146
168
  end
147
169
  end
148
- alias_method :to_bool, :parse_bool
149
170
  end
150
171
 
151
172
 
152
173
 
153
-
154
174
  puts SaferBool.banner ## say hello
@@ -9,7 +9,7 @@
9
9
  module SaferBool
10
10
 
11
11
  MAJOR = 1
12
- MINOR = 0
12
+ MINOR = 1
13
13
  PATCH = 0
14
14
  VERSION = [MAJOR,MINOR,PATCH].join('.')
15
15
 
data/test/test_bool.rb CHANGED
@@ -11,33 +11,63 @@ require 'helper'
11
11
  class TestBool < MiniTest::Test
12
12
 
13
13
  def test_bool
14
- assert_equal true, false.is_a?(Bool)
15
- assert_equal true, false.false?
16
- assert_equal false, false.true?
17
- assert_equal true, false.bool?
18
- assert_equal false, false.to_b
19
-
20
- assert_equal true, true.is_a?(Bool)
21
- assert_equal true, true.true?
22
- assert_equal false, true.false?
23
- assert_equal true, true.bool?
24
- assert_equal true, true.to_b
14
+ assert_equal true, false.is_a?(Bool)
15
+ assert_equal true, false.false?
16
+ assert_equal false, false.true?
17
+ assert_equal true, false.bool?
18
+ assert_equal false, false.to_b
19
+ assert_equal 0, false.to_i
20
+ assert_equal "false", false.to_s
21
+
22
+ assert_equal true, true.is_a?(Bool)
23
+ assert_equal true, true.true?
24
+ assert_equal false, true.false?
25
+ assert_equal true, true.bool?
26
+ assert_equal true, true.to_b
27
+ assert_equal 1, true.to_i
28
+ assert_equal "true", true.to_s
29
+
30
+ assert_equal false, Bool.zero
31
+ assert_equal false, false.class.zero
32
+ assert_equal false, true.class.zero
33
+
34
+ assert_equal true, false.zero?
35
+ assert_equal false, true.zero?
36
+
37
+ assert_equal true, false.frozen? ## (always) true by default
38
+ assert_equal true, true.frozen? ## (always) true by default
39
+ end
40
+
41
+ def test_parse
42
+ assert_equal false, Bool.parse( "false" )
43
+ assert_equal false, Bool.parse( "f" )
44
+ assert_equal false, Bool.parse( "0" )
45
+
46
+ assert_equal true, Bool.parse( "true" )
47
+ assert_equal true, Bool.parse( "t" )
48
+ assert_equal true, Bool.parse( "1" )
49
+
50
+ assert_equal true, Bool.parse( "" ) == nil
51
+ assert_equal true, Bool.parse( "2" ) == nil
52
+ assert_equal true, Bool.parse( "xxx" ) == nil
25
53
  end
26
54
 
27
55
  def test_nil
28
56
  assert_equal false, nil.to_b
57
+ assert_equal false, nil.to_bool
29
58
  assert_equal false, Bool(nil)
30
59
 
60
+ assert_equal 0, nil.to_i
61
+ assert_equal "", nil.to_s
62
+
63
+ assert_equal true, nil.to_bool.is_a?(Bool)
64
+
31
65
  assert_equal false, nil.false?
32
66
  assert_equal false, nil.true?
33
67
  assert_equal false, nil.bool?
34
68
  end
35
69
 
36
70
  def test_string
37
- assert_equal false, "true".false?
38
- assert_equal false, "true".true?
39
- assert_equal false, "true".bool?
40
-
41
71
  assert_equal true, "true".to_b
42
72
  assert_equal true, "yes".to_b
43
73
  assert_equal true, "on".to_b
@@ -57,13 +87,28 @@ class TestBool < MiniTest::Test
57
87
  assert_equal true, Bool("t")
58
88
  assert_equal true, Bool("y")
59
89
  assert_equal true, Bool("1")
90
+
91
+ assert_equal true, "".to_bool == nil
92
+ assert_equal true, " ".to_bool == nil
93
+ assert_equal true, "2".to_bool == nil
94
+ assert_equal true, "xxx".to_bool == nil
95
+
96
+ assert_equal false, "".to_bool.bool?
97
+ assert_equal false, " ".to_bool.bool?
98
+ assert_equal false, "2".to_bool.bool?
99
+ assert_equal false, "xxx".to_bool.bool?
100
+
101
+ assert_equal false, "".to_bool.is_a?(Bool)
102
+ assert_equal false, " ".to_bool.is_a?(Bool)
103
+ assert_equal false, "2".to_bool.is_a?(Bool)
104
+ assert_equal false, "xxx".to_bool.is_a?(Bool)
105
+
106
+ assert_equal false, "true".false?
107
+ assert_equal false, "true".true?
108
+ assert_equal false, "true".bool?
60
109
  end
61
110
 
62
111
  def test_symbol
63
- assert_equal false, :true.false?
64
- assert_equal false, :true.true?
65
- assert_equal false, :true.bool?
66
-
67
112
  assert_equal true, :true.to_b
68
113
  assert_equal true, :yes.to_b
69
114
  assert_equal true, :on.to_b
@@ -77,20 +122,45 @@ class TestBool < MiniTest::Test
77
122
  assert_equal true, Bool(:t)
78
123
  assert_equal true, Bool(:y)
79
124
  assert_equal true, Bool(:"1")
125
+
126
+ assert_equal true, :'2'.to_bool == nil
127
+ assert_equal true, :xxx.to_bool == nil
128
+
129
+ assert_equal false, :'2'.to_bool.bool?
130
+ assert_equal false, :'xxx'.to_bool.bool?
131
+
132
+ assert_equal false, :'2'.to_bool.is_a?(Bool)
133
+ assert_equal false, :'xxx'.to_bool.is_a?(Bool)
134
+
135
+ assert_equal false, :true.false?
136
+ assert_equal false, :true.true?
137
+ assert_equal false, :true.bool?
80
138
  end
81
139
 
82
140
 
83
141
  def test_integer
84
- assert_equal false, 1.false?
85
- assert_equal false, 1.true?
86
- assert_equal false, 1.bool?
87
-
88
142
  assert_equal false, 0.to_b
89
143
  assert_equal true, 1.to_b
90
144
  assert_equal true, 2.to_b
91
145
 
92
146
  assert_equal false, Bool(0)
93
147
  assert_equal true, Bool(1)
94
- assert_equal true, Bool(2)
148
+
149
+ assert_equal true, 2.to_bool == nil
150
+ assert_equal true, -1.to_bool == nil
151
+
152
+ assert_equal false, 2.to_bool.bool?
153
+ assert_equal false, -1.to_bool.bool?
154
+
155
+ assert_equal false, 2.to_bool.is_a?(Bool)
156
+ assert_equal false, -1.to_bool.is_a?(Bool)
157
+
158
+ assert_equal false, 1.false?
159
+ assert_equal false, 1.true?
160
+ assert_equal false, 1.bool?
161
+
162
+ assert_equal false, 0.false?
163
+ assert_equal false, 0.true?
164
+ assert_equal false, 0.bool?
95
165
  end
96
166
  end # class TestBool
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: safebool
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gerald Bauer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-30 00:00:00.000000000 Z
11
+ date: 2019-04-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rdoc
@@ -38,8 +38,8 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '3.16'
41
- description: safebool - safe bool(ean) type adds Bool(), to_b, to_bool, bool?, false?,
42
- true?, true.is_a?(Bool)==true, false.is_a?(Bool)==true, and more
41
+ description: safebool - safe bool / boolean type adds Bool(), to_b, parse_bool / to_bool,
42
+ bool?, false?, true?, true.is_a?(Bool)==true, false.is_a?(Bool)==true, and more
43
43
  email: wwwmake@googlegroups.com
44
44
  executables: []
45
45
  extensions: []
@@ -83,6 +83,6 @@ rubyforge_project:
83
83
  rubygems_version: 2.5.2
84
84
  signing_key:
85
85
  specification_version: 4
86
- summary: safebool - safe bool(ean) type adds Bool(), to_b, to_bool, bool?, false?,
87
- true?, true.is_a?(Bool)==true, false.is_a?(Bool)==true, and more
86
+ summary: safebool - safe bool / boolean type adds Bool(), to_b, parse_bool / to_bool,
87
+ bool?, false?, true?, true.is_a?(Bool)==true, false.is_a?(Bool)==true, and more
88
88
  test_files: []