tbpgr_utils 0.0.10 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -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
@@ -2,5 +2,5 @@
2
2
 
3
3
  # Tbpgr Utilities
4
4
  module TbpgrUtils
5
- VERSION = '0.0.10'
5
+ VERSION = '0.0.11'
6
6
  end
@@ -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.10
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-17 00:00:00.000000000 Z
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: &112152 !ruby/object:Gem::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: *112152
24
+ version_requirements: *28249812
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: bundler
27
- requirement: &109104 !ruby/object:Gem::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: *109104
35
+ version_requirements: *28249032
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &6863256 !ruby/object:Gem::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: *6863256
46
+ version_requirements: *28247760
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &6865392 !ruby/object:Gem::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: *6865392
57
+ version_requirements: *28245348
58
58
  description: Utilities
59
59
  email:
60
60
  - tbpgr@tbpgr.jp