tbpgr_utils 0.0.10 → 0.0.11
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.
- data/README.md +14 -0
- data/lib/open_classes/object.rb +14 -0
- data/lib/tbpgr_utils/version.rb +1 -1
- data/spec/open_classes/object_spec.rb +68 -0
- metadata +10 -10
data/README.md
CHANGED
@@ -31,6 +31,7 @@ Or install it yourself as:
|
|
31
31
|
|TbpgrUtils Object#any_of?|if self match any one of items, return true|
|
32
32
|
|TbpgrUtils Object#boolean?|data type check for boolean|
|
33
33
|
|TbpgrUtils Object#my_methods|return public/protected/private self define methods|
|
34
|
+
|TbpgrUtils Object#to_bool|syntax sugar of !!. convert [false, nil] => fasel, other => true.|
|
34
35
|
|TbpgrUtils String#justify_table|justify pipe format table string|
|
35
36
|
|Templatable module|get result from template + placeholder|
|
36
37
|
|TemplateMethodable module|for Template Method Pattern|
|
@@ -295,6 +296,18 @@ end
|
|
295
296
|
p Hoge.new.my_methods # =>[:hoge, :hige, :hege]
|
296
297
|
~~~
|
297
298
|
|
299
|
+
### Object#to_bool
|
300
|
+
~~~ruby
|
301
|
+
require 'tbpgr_utils'
|
302
|
+
|
303
|
+
p true.to_bool # => true
|
304
|
+
p false.to_bool # => false
|
305
|
+
p 'true'.to_bool # => true
|
306
|
+
p 'false'.to_bool # => true
|
307
|
+
p nil.to_bool # => false
|
308
|
+
p 0.to_bool # => true
|
309
|
+
~~~
|
310
|
+
|
298
311
|
### String#justify_table
|
299
312
|
~~~ruby
|
300
313
|
require 'tbpgr_utils'
|
@@ -413,6 +426,7 @@ if you are Sublime Text2 user, you can use snippet for TbpgrUtils.
|
|
413
426
|
https://github.com/tbpgr/tbpgr_utils_snippets
|
414
427
|
|
415
428
|
## History
|
429
|
+
* version 0.0.11 : add Object#to_bool.
|
416
430
|
* version 0.0.10 : add TemplateMethodable module.
|
417
431
|
* version 0.0.9 : add TestToolbox module. add Kernel#capture_stdout, Kernel#dp_line
|
418
432
|
* version 0.0.8 : add Kernel#bulk_define_methods
|
data/lib/open_classes/object.rb
CHANGED
@@ -48,4 +48,18 @@ class Object
|
|
48
48
|
args.each { |value|return true if self == value }
|
49
49
|
false
|
50
50
|
end
|
51
|
+
|
52
|
+
# you get bool value
|
53
|
+
#
|
54
|
+
# true.to_bool # => true
|
55
|
+
# false.to_bool # => false
|
56
|
+
# 0.to_bool # => true
|
57
|
+
# 1.to_bool # => true
|
58
|
+
# ''.to_bool # => true
|
59
|
+
# 'true'.to_bool # => true
|
60
|
+
# 'false'.to_bool # => true
|
61
|
+
# nil.to_bool # => false
|
62
|
+
def to_bool
|
63
|
+
!!self
|
64
|
+
end
|
51
65
|
end
|
data/lib/tbpgr_utils/version.rb
CHANGED
@@ -188,4 +188,72 @@ describe Object do
|
|
188
188
|
end
|
189
189
|
end
|
190
190
|
end
|
191
|
+
|
192
|
+
context :to_bool do
|
193
|
+
cases = [
|
194
|
+
{
|
195
|
+
case_no: 1,
|
196
|
+
case_title: 'TrueClass case',
|
197
|
+
input: true,
|
198
|
+
expected: true,
|
199
|
+
},
|
200
|
+
{
|
201
|
+
case_no: 2,
|
202
|
+
case_title: 'FalseClass case',
|
203
|
+
input: false,
|
204
|
+
expected: false,
|
205
|
+
},
|
206
|
+
{
|
207
|
+
case_no: 3,
|
208
|
+
case_title: "string 'true' case",
|
209
|
+
input: 'true',
|
210
|
+
expected: true,
|
211
|
+
},
|
212
|
+
{
|
213
|
+
case_no: 4,
|
214
|
+
case_title: "string 'false' case",
|
215
|
+
input: 'false',
|
216
|
+
expected: true,
|
217
|
+
},
|
218
|
+
{
|
219
|
+
case_no: 5,
|
220
|
+
case_title: 'empty case',
|
221
|
+
input: '',
|
222
|
+
expected: true,
|
223
|
+
},
|
224
|
+
{
|
225
|
+
case_no: 6,
|
226
|
+
case_title: 'nil case',
|
227
|
+
input: nil,
|
228
|
+
expected: false,
|
229
|
+
},
|
230
|
+
]
|
231
|
+
|
232
|
+
cases.each do |c|
|
233
|
+
it "|case_no=#{c[:case_no]}|case_title=#{c[:case_title]}" do
|
234
|
+
begin
|
235
|
+
case_before c
|
236
|
+
|
237
|
+
# -- given --
|
238
|
+
# nothing
|
239
|
+
|
240
|
+
# -- when --
|
241
|
+
actual = c[:input].to_bool
|
242
|
+
|
243
|
+
# -- then --
|
244
|
+
expect(actual).to eq(c[:expected])
|
245
|
+
ensure
|
246
|
+
case_after c
|
247
|
+
end
|
248
|
+
end
|
249
|
+
|
250
|
+
def case_before(c)
|
251
|
+
# implement each case before
|
252
|
+
end
|
253
|
+
|
254
|
+
def case_after(c)
|
255
|
+
# implement each case after
|
256
|
+
end
|
257
|
+
end
|
258
|
+
end
|
191
259
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tbpgr_utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.11
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-01-
|
12
|
+
date: 2014-01-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
16
|
-
requirement: &
|
16
|
+
requirement: &28249812 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 4.0.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *28249812
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: bundler
|
27
|
-
requirement: &
|
27
|
+
requirement: &28249032 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '1.3'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *28249032
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake
|
38
|
-
requirement: &
|
38
|
+
requirement: &28247760 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *28247760
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rspec
|
49
|
-
requirement: &
|
49
|
+
requirement: &28245348 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: 2.14.1
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *28245348
|
58
58
|
description: Utilities
|
59
59
|
email:
|
60
60
|
- tbpgr@tbpgr.jp
|