tbpgr_utils 0.0.54 → 0.0.55

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -59,7 +59,8 @@ Or install it yourself as:
59
59
  |[EndERB.apply](#enderbapply) |for single template script using __END__ and DATA |
60
60
  |[EvalHelper#if_code](#evalhelperif_code) |create if strings, for eval |
61
61
  |[EvalHelper#if_code_after](#evalhelperif_code_after) |create after-if strings, for eval |
62
- |[EvalHelper#unless_code](#evalhelperunless_code_after) |create after-unless strings, for eval |
62
+ |[EvalHelper#unless_code](#evalhelperunless_code) |create unless strings, for eval |
63
+ |[EvalHelper#unless_code_After](#evalhelperunless_code_after) |create after-unless strings, for eval |
63
64
  |[TbpgrUtils File.insert_bom](#fileinsert_bom) |insert BOM to UTF-8 File |
64
65
  |[Ghostable module](#ghostable) |help to create ghost method(dynamic method define by ussing method_missing + pattern-method-name) |
65
66
  |[TbpgrUtils Kernel#bulk_define_methods](#kernelbulk_define_methods) |define methods to classes. methods have simple return value. |
@@ -1428,7 +1429,7 @@ end
1428
1429
  hash = {
1429
1430
  input: "test",
1430
1431
  if_cond: "msg == 'test'",
1431
- if_proc: "ret = "true"",
1432
+ if_proc: "ret = 'true'",
1432
1433
  }
1433
1434
  EvalHelperTest.new.hoge(hash) # => return 'true'
1434
1435
  ~~~
@@ -1453,12 +1454,11 @@ end
1453
1454
  hash = {
1454
1455
  input: "not_test",
1455
1456
  if_cond: "msg == 'test'",
1456
- if_proc: "ret = "true"",
1457
+ if_proc: "ret = 'true'",
1457
1458
  }
1458
1459
  EvalHelperTest.new.hoge(hash) # => return 'default'
1459
1460
  ~~~
1460
1461
 
1461
-
1462
1462
  [back to list](#list)
1463
1463
 
1464
1464
  ### EvalHelper#unless_code
@@ -1509,6 +1509,59 @@ EvalHelperTest.new.hoge(hash) # => return false
1509
1509
 
1510
1510
  [back to list](#list)
1511
1511
 
1512
+ ### EvalHelper#unless_code_after
1513
+ unless case
1514
+
1515
+ ~~~ruby
1516
+ require 'eval_helper'
1517
+
1518
+ class EvalHelperTest
1519
+ include EvalHelper
1520
+
1521
+ def hoge(hash)
1522
+ msg = hash[:input]
1523
+ code = unless_code_after(hash[:unless_cond], hash[:unless_proc])
1524
+ ret = 'dafault'
1525
+ instance_eval code
1526
+ ret
1527
+ end
1528
+ end
1529
+
1530
+ hash = {
1531
+ input: "not_test",
1532
+ unless_cond: "msg == 'test'",
1533
+ unless_proc: "ret = 'true'",
1534
+ }
1535
+ EvalHelperTest.new.hoge(hash) # => return 'true'
1536
+ ~~~
1537
+
1538
+ else case
1539
+
1540
+ ~~~ruby
1541
+ require 'eval_helper'
1542
+
1543
+ class EvalHelperTest
1544
+ include EvalHelper
1545
+
1546
+ def hoge(hash)
1547
+ msg = hash[:input]
1548
+ code = unless_code_after(hash[:unless_cond], hash[:unless_proc])
1549
+ ret = 'ret = "true"'
1550
+ instance_eval code
1551
+ ret
1552
+ end
1553
+ end
1554
+
1555
+ hash = {
1556
+ input: "test",
1557
+ unless_cond: "msg == 'test'",
1558
+ unless_proc: "ret = 'true'",
1559
+ }
1560
+ EvalHelperTest.new.hoge(hash) # => return 'default'
1561
+ ~~~
1562
+
1563
+ [back to list](#list)
1564
+
1512
1565
  ### MetasyntacticVariable
1513
1566
  * META variable
1514
1567
 
@@ -2016,6 +2069,7 @@ if you are Sublime Text2 user, you can use snippet for TbpgrUtils.
2016
2069
  https://github.com/tbpgr/tbpgr_utils_snippets
2017
2070
 
2018
2071
  ## History
2072
+ * version 0.0.55 : add EvalHelper#unless_code_after
2019
2073
  * version 0.0.54 : add EvalHelper#unless_code
2020
2074
  * version 0.0.53 : add EvalHelper#if_code_after
2021
2075
  * version 0.0.52 : add EvalHelper#if_code
@@ -1,57 +1,57 @@
1
- # encoding: utf-8
2
-
3
- module EvalHelper
4
- # create unless strings, for eval
5
- #
6
- # ==== Examples
7
- #
8
- # unless case
9
- #
10
- # class EvalHelperTest
11
- # include EvalHelper
12
- #
13
- # def hoge(hash)
14
- # msg = hash[:input]
15
- # code = unless_code(hash[:unless_cond], hash[:unless_proc], hash[:else_proc])
16
- # instance_eval code
17
- # end
18
- # end
19
- #
20
- # hash = {
21
- # input: "not_test",
22
- # unless_cond: "msg == 'test'",
23
- # unless_proc: "true",
24
- # else_proc: "false",
25
- # }
26
- # EvalHelperTest.new.hoge(hash) # => return true
27
- #
28
- # else case
29
- #
30
- # class EvalHelperTest
31
- # include EvalHelper
32
- #
33
- # def hoge(hash)
34
- # msg = hash[:input]
35
- # code = unless_code(hash[:unless_cond], hash[:unless_proc], hash[:else_proc])
36
- # instance_eval code
37
- # end
38
- # end
39
- #
40
- # hash = {
41
- # input: "test",
42
- # unless_cond: "msg == 'test'",
43
- # unless_proc: "true",
44
- # else_proc: "false",
45
- # }
46
- # EvalHelperTest.new.hoge(hash) # => return false
47
- #
48
- def unless_code(condition, unless_proc, else_proc)
49
- <<-EOS
50
- unless #{condition}
51
- #{unless_proc}
52
- else
53
- #{else_proc}
54
- end
55
- EOS
56
- end
57
- end
1
+ # encoding: utf-8
2
+
3
+ module EvalHelper
4
+ # create unless strings, for eval
5
+ #
6
+ # ==== Examples
7
+ #
8
+ # unless case
9
+ #
10
+ # class EvalHelperTest
11
+ # include EvalHelper
12
+ #
13
+ # def hoge(hash)
14
+ # msg = hash[:input]
15
+ # code = unless_code(hash[:unless_cond], hash[:unless_proc], hash[:else_proc])
16
+ # instance_eval code
17
+ # end
18
+ # end
19
+ #
20
+ # hash = {
21
+ # input: "not_test",
22
+ # unless_cond: "msg == 'test'",
23
+ # unless_proc: "true",
24
+ # else_proc: "false",
25
+ # }
26
+ # EvalHelperTest.new.hoge(hash) # => return true
27
+ #
28
+ # else case
29
+ #
30
+ # class EvalHelperTest
31
+ # include EvalHelper
32
+ #
33
+ # def hoge(hash)
34
+ # msg = hash[:input]
35
+ # code = unless_code(hash[:unless_cond], hash[:unless_proc], hash[:else_proc])
36
+ # instance_eval code
37
+ # end
38
+ # end
39
+ #
40
+ # hash = {
41
+ # input: "test",
42
+ # unless_cond: "msg == 'test'",
43
+ # unless_proc: "true",
44
+ # else_proc: "false",
45
+ # }
46
+ # EvalHelperTest.new.hoge(hash) # => return false
47
+ #
48
+ def unless_code(condition, unless_proc, else_proc)
49
+ <<-EOS
50
+ unless #{condition}
51
+ #{unless_proc}
52
+ else
53
+ #{else_proc}
54
+ end
55
+ EOS
56
+ end
57
+ end
@@ -0,0 +1,53 @@
1
+ # encoding: utf-8
2
+
3
+ module EvalHelper
4
+ # create unless strings, for eval
5
+ #
6
+ # ==== Examples
7
+ #
8
+ # unless case
9
+ #
10
+ # class EvalHelperTest
11
+ # include EvalHelper
12
+ #
13
+ # def hoge(hash)
14
+ # msg = hash[:input]
15
+ # code = unless_code_after(hash[:unless_cond], hash[:unless_proc])
16
+ # ret = 'dafault'
17
+ # instance_eval code
18
+ # ret
19
+ # end
20
+ # end
21
+ #
22
+ # hash = {
23
+ # input: "not_test",
24
+ # unless_cond: "msg == 'test'",
25
+ # unless_proc: "ret = "true"",
26
+ # }
27
+ # EvalHelperTest.new.hoge(hash) # => return 'true'
28
+ #
29
+ # else case
30
+ #
31
+ # class EvalHelperTest
32
+ # include EvalHelper
33
+ #
34
+ # def hoge(hash)
35
+ # msg = hash[:input]
36
+ # code = unless_code_after(hash[:unless_cond], hash[:unless_proc])
37
+ # ret = 'ret = "true"'
38
+ # instance_eval code
39
+ # ret
40
+ # end
41
+ # end
42
+ #
43
+ # hash = {
44
+ # input: "test",
45
+ # unless_cond: "msg == 'test'",
46
+ # unless_proc: "ret = "true"",
47
+ # }
48
+ # EvalHelperTest.new.hoge(hash) # => return 'default'
49
+ #
50
+ def unless_code_after(condition, unless_proc)
51
+ "#{unless_proc} unless #{condition}"
52
+ end
53
+ end
data/lib/eval_helper.rb CHANGED
@@ -1,7 +1,8 @@
1
- # encoding: utf-8
2
-
3
- module EvalHelper
4
- require 'eval_helper/if_code'
5
- require 'eval_helper/if_code_after'
6
- require 'eval_helper/else_code'
7
- end
1
+ # encoding: utf-8
2
+
3
+ module EvalHelper
4
+ require 'eval_helper/if_code'
5
+ require 'eval_helper/if_code_after'
6
+ require 'eval_helper/unless_code'
7
+ require 'eval_helper/unless_code_after'
8
+ end
@@ -2,5 +2,5 @@
2
2
 
3
3
  # Tbpgr Utilities
4
4
  module TbpgrUtils
5
- VERSION = '0.0.54'
5
+ VERSION = '0.0.55'
6
6
  end
@@ -0,0 +1,64 @@
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+ require 'eval_helper'
4
+
5
+ describe 'EvalHelper' do
6
+ context :unless_code_after do
7
+ class EvalHelperUnlessAfterTest
8
+ include EvalHelper
9
+
10
+ def hoge(hash)
11
+ msg = hash[:input]
12
+ code = unless_code_after(hash[:unless_cond], hash[:unless_proc])
13
+ ret = 'dafault'
14
+ instance_eval code
15
+ ret
16
+ end
17
+ end
18
+ cases = [
19
+ {
20
+ case_no: 1,
21
+ case_title: 'if case',
22
+ input: 'not_test',
23
+ unless_cond: "msg == 'test'",
24
+ unless_proc: 'ret = "true"',
25
+ expected: 'true',
26
+ },
27
+ {
28
+ case_no: 2,
29
+ case_title: 'else case',
30
+ input: 'test',
31
+ unless_cond: "msg == 'test'",
32
+ unless_proc: 'ret = "true"',
33
+ expected: 'dafault',
34
+ },
35
+ ]
36
+
37
+ cases.each do |c|
38
+ it "|case_no=#{c[:case_no]}|case_title=#{c[:case_title]}" do
39
+ begin
40
+ case_before c
41
+
42
+ # -- given --
43
+ eval_helper = EvalHelperUnlessAfterTest.new
44
+
45
+ # -- when --
46
+ actual = eval_helper.hoge(c)
47
+
48
+ # -- then --
49
+ expect(actual).to eq(c[:expected])
50
+ ensure
51
+ case_after c
52
+ end
53
+ end
54
+
55
+ def case_before(c)
56
+ # implement each case before
57
+ end
58
+
59
+ def case_after(c)
60
+ # implement each case after
61
+ end
62
+ end
63
+ end
64
+ end
@@ -1,64 +1,64 @@
1
- # encoding: utf-8
2
- require 'spec_helper'
3
- require 'eval_helper'
4
-
5
- describe 'EvalHelper' do
6
- context :unless_code do
7
- class EvalHelperUnlessTest
8
- include EvalHelper
9
-
10
- def hoge(hash)
11
- msg = hash[:input]
12
- code = unless_code(hash[:unless_cond], hash[:unless_proc], hash[:else_proc])
13
- instance_eval code
14
- end
15
- end
16
- cases = [
17
- {
18
- case_no: 1,
19
- case_title: 'unless case',
20
- input: 'not_test',
21
- unless_cond: "msg == 'test'",
22
- unless_proc: 'true',
23
- else_proc: 'false',
24
- expected: true,
25
- },
26
- {
27
- case_no: 2,
28
- case_title: 'else case',
29
- input: 'test',
30
- unless_cond: "msg == 'test'",
31
- unless_proc: 'true',
32
- else_proc: 'false',
33
- expected: false,
34
- },
35
- ]
36
-
37
- cases.each do |c|
38
- it "|case_no=#{c[:case_no]}|case_title=#{c[:case_title]}" do
39
- begin
40
- case_before c
41
-
42
- # -- given --
43
- eval_helper = EvalHelperUnlessTest.new
44
-
45
- # -- when --
46
- actual = eval_helper.hoge(c)
47
-
48
- # -- then --
49
- expect(actual).to eq(c[:expected])
50
- ensure
51
- case_after c
52
- end
53
- end
54
-
55
- def case_before(c)
56
- # implement each case before
57
- end
58
-
59
- def case_after(c)
60
- # implement each case after
61
- end
62
- end
63
- end
64
- end
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+ require 'eval_helper'
4
+
5
+ describe 'EvalHelper' do
6
+ context :unless_code do
7
+ class EvalHelperUnlessTest
8
+ include EvalHelper
9
+
10
+ def hoge(hash)
11
+ msg = hash[:input]
12
+ code = unless_code(hash[:unless_cond], hash[:unless_proc], hash[:else_proc])
13
+ instance_eval code
14
+ end
15
+ end
16
+ cases = [
17
+ {
18
+ case_no: 1,
19
+ case_title: 'unless case',
20
+ input: 'not_test',
21
+ unless_cond: "msg == 'test'",
22
+ unless_proc: 'true',
23
+ else_proc: 'false',
24
+ expected: true,
25
+ },
26
+ {
27
+ case_no: 2,
28
+ case_title: 'else case',
29
+ input: 'test',
30
+ unless_cond: "msg == 'test'",
31
+ unless_proc: 'true',
32
+ else_proc: 'false',
33
+ expected: false,
34
+ },
35
+ ]
36
+
37
+ cases.each do |c|
38
+ it "|case_no=#{c[:case_no]}|case_title=#{c[:case_title]}" do
39
+ begin
40
+ case_before c
41
+
42
+ # -- given --
43
+ eval_helper = EvalHelperUnlessTest.new
44
+
45
+ # -- when --
46
+ actual = eval_helper.hoge(c)
47
+
48
+ # -- then --
49
+ expect(actual).to eq(c[:expected])
50
+ ensure
51
+ case_after c
52
+ end
53
+ end
54
+
55
+ def case_before(c)
56
+ # implement each case before
57
+ end
58
+
59
+ def case_after(c)
60
+ # implement each case after
61
+ end
62
+ end
63
+ end
64
+ 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.54
4
+ version: 0.0.55
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-03-02 00:00:00.000000000 Z
12
+ date: 2014-03-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
16
- requirement: &26389572 !ruby/object:Gem::Requirement
16
+ requirement: &23251824 !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: *26389572
24
+ version_requirements: *23251824
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: bundler
27
- requirement: &26389284 !ruby/object:Gem::Requirement
27
+ requirement: &23251104 !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: *26389284
35
+ version_requirements: *23251104
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &26389056 !ruby/object:Gem::Requirement
38
+ requirement: &23250648 !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: *26389056
46
+ version_requirements: *23250648
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &26388732 !ruby/object:Gem::Requirement
49
+ requirement: &23250132 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 2.14.1
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *26388732
57
+ version_requirements: *23250132
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: simplecov
60
- requirement: &26388432 !ruby/object:Gem::Requirement
60
+ requirement: &23249760 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: 0.8.2
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *26388432
68
+ version_requirements: *23249760
69
69
  description: Utilities
70
70
  email:
71
71
  - tbpgr@tbpgr.jp
@@ -86,9 +86,10 @@ files:
86
86
  - lib/attributes_initializable.rb
87
87
  - lib/end_erb.rb
88
88
  - lib/eval_helper.rb
89
- - lib/eval_helper/else_code.rb
90
89
  - lib/eval_helper/if_code.rb
91
90
  - lib/eval_helper/if_code_after.rb
91
+ - lib/eval_helper/unless_code.rb
92
+ - lib/eval_helper/unless_code_after.rb
92
93
  - lib/ghostable.rb
93
94
  - lib/metasyntactic_variable.rb
94
95
  - lib/open_classes/array.rb
@@ -152,6 +153,7 @@ files:
152
153
  - spec/attributes_initializable_spec.rb
153
154
  - spec/eval_helper/if_code_after_spec.rb
154
155
  - spec/eval_helper/if_code_spec.rb
156
+ - spec/eval_helper/unless_code_after_spec.rb
155
157
  - spec/eval_helper/unless_code_spec.rb
156
158
  - spec/ghostable_spec.rb
157
159
  - spec/metasyntactic_variable_spec.rb
@@ -236,6 +238,7 @@ test_files:
236
238
  - spec/attributes_initializable_spec.rb
237
239
  - spec/eval_helper/if_code_after_spec.rb
238
240
  - spec/eval_helper/if_code_spec.rb
241
+ - spec/eval_helper/unless_code_after_spec.rb
239
242
  - spec/eval_helper/unless_code_spec.rb
240
243
  - spec/ghostable_spec.rb
241
244
  - spec/metasyntactic_variable_spec.rb