tbpgr_utils 0.0.72 → 0.0.73
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 +18 -0
- data/lib/open_classes/kernel/evalb.rb +22 -0
- data/lib/open_classes/kernel.rb +3 -2
- data/lib/tbpgr_utils/version.rb +1 -1
- data/spec/open_classes/kernel/evalb_spec.rb +47 -0
- metadata +15 -12
data/README.md
CHANGED
@@ -81,6 +81,7 @@ Or install it yourself as:
|
|
81
81
|
|[TestToolbox Kernel#dp_line](#kerneldp_line) |debug print line for print-debugging |
|
82
82
|
|[TbpgrUtils Kernel#aa_ancestors](#kernelaa_ancestors) |Ascii Art Ancestors |
|
83
83
|
|[TbpgrUtils Kernel#bulk_puts_eval](#kernelbulk_puts_eval) |Puts each-line-code + eval result |
|
84
|
+
|[TbpgrUtils Kernel#evalb](#kernelevalb) |eval block version |
|
84
85
|
|[TbpgrUtils Kernel#null](#kernelnull) |null is alias of nil |
|
85
86
|
|[TbpgrUtils Kernel#print_eval](#kernelprint_eval) |Print code + eval result |
|
86
87
|
|[TbpgrUtils Kernel#puts_eval](#kernelputs_eval) |Puts code + eval result |
|
@@ -1340,6 +1341,22 @@ result is ...
|
|
1340
1341
|
|
1341
1342
|
[back to list](#list)
|
1342
1343
|
|
1344
|
+
### Kernel#evalb
|
1345
|
+
~~~ruby
|
1346
|
+
require 'tbpgr_utils'
|
1347
|
+
n = 1
|
1348
|
+
actual = evalb(binding) do
|
1349
|
+
<<-EOS
|
1350
|
+
n = n + 1
|
1351
|
+
n = n + 2
|
1352
|
+
EOS
|
1353
|
+
end
|
1354
|
+
|
1355
|
+
print actual # => 4
|
1356
|
+
~~~
|
1357
|
+
|
1358
|
+
[back to list](#list)
|
1359
|
+
|
1343
1360
|
### Kernel#null
|
1344
1361
|
~~~ruby
|
1345
1362
|
require 'tbpgr_utils'
|
@@ -2637,6 +2654,7 @@ if you are Sublime Text2 user, you can use snippet for TbpgrUtils.
|
|
2637
2654
|
https://github.com/tbpgr/tbpgr_utils_snippets
|
2638
2655
|
|
2639
2656
|
## History
|
2657
|
+
* version 0.0.72 : add Kernel#evalb
|
2640
2658
|
* version 0.0.71 : add Kernel booleans
|
2641
2659
|
* version 0.0.70 : add SimpleTournament
|
2642
2660
|
* version 0.0.69 : add Numeric#dozen
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
# Kernel
|
4
|
+
module Kernel
|
5
|
+
# eval block version
|
6
|
+
#
|
7
|
+
# === Example
|
8
|
+
#
|
9
|
+
# require 'tbpgr_utils'
|
10
|
+
# n = 1
|
11
|
+
# actual = evalb(binding) do
|
12
|
+
# <<-EOS
|
13
|
+
# n = n + 1
|
14
|
+
# n = n + 2
|
15
|
+
# EOS
|
16
|
+
# end
|
17
|
+
#
|
18
|
+
# print actual # => 4
|
19
|
+
def evalb(bind = nil, &proc)
|
20
|
+
eval yield, bind
|
21
|
+
end
|
22
|
+
end
|
data/lib/open_classes/kernel.rb
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
|
+
require 'open_classes/kernel/aa_ancestors'
|
3
4
|
require 'open_classes/kernel/booleans'
|
4
|
-
require 'open_classes/kernel/p_evals'
|
5
5
|
require 'open_classes/kernel/bulk_define_methods'
|
6
|
-
require 'open_classes/kernel/
|
6
|
+
require 'open_classes/kernel/evalb'
|
7
7
|
require 'open_classes/kernel/null'
|
8
|
+
require 'open_classes/kernel/p_evals'
|
data/lib/tbpgr_utils/version.rb
CHANGED
@@ -0,0 +1,47 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
require 'open_classes/kernel'
|
4
|
+
|
5
|
+
describe Kernel do
|
6
|
+
context :evalb do
|
7
|
+
cases = [
|
8
|
+
{
|
9
|
+
case_no: 1,
|
10
|
+
case_title: 'valid case',
|
11
|
+
input: 1,
|
12
|
+
eval_code: "n = n + 1\nn = n + 2",
|
13
|
+
expected: 4,
|
14
|
+
},
|
15
|
+
]
|
16
|
+
|
17
|
+
cases.each do |c|
|
18
|
+
it "|case_no=#{c[:case_no]}|case_title=#{c[:case_title]}" do
|
19
|
+
begin
|
20
|
+
case_before c
|
21
|
+
|
22
|
+
# -- given --
|
23
|
+
message = c[:bind] if c[:bind]
|
24
|
+
n = c[:input]
|
25
|
+
|
26
|
+
# -- when --
|
27
|
+
actual = evalb(binding) do
|
28
|
+
c[:eval_code]
|
29
|
+
end
|
30
|
+
|
31
|
+
# -- then --
|
32
|
+
expect(actual).to eq(c[:expected])
|
33
|
+
ensure
|
34
|
+
case_after c
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def case_before(c)
|
39
|
+
# implement each case before
|
40
|
+
end
|
41
|
+
|
42
|
+
def case_after(c)
|
43
|
+
# implement each case after
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
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.73
|
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-
|
12
|
+
date: 2014-03-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
16
|
-
requirement: &
|
16
|
+
requirement: &20428416 !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: *20428416
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: bundler
|
27
|
-
requirement: &
|
27
|
+
requirement: &20428128 !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: *20428128
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake
|
38
|
-
requirement: &
|
38
|
+
requirement: &20427900 !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: *20427900
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rspec
|
49
|
-
requirement: &
|
49
|
+
requirement: &20427576 !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: *
|
57
|
+
version_requirements: *20427576
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: simplecov
|
60
|
-
requirement: &
|
60
|
+
requirement: &20427276 !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: *
|
68
|
+
version_requirements: *20427276
|
69
69
|
description: Utilities
|
70
70
|
email:
|
71
71
|
- tbpgr@tbpgr.jp
|
@@ -136,6 +136,7 @@ files:
|
|
136
136
|
- lib/open_classes/kernel/aa_ancestors.rb
|
137
137
|
- lib/open_classes/kernel/booleans.rb
|
138
138
|
- lib/open_classes/kernel/bulk_define_methods.rb
|
139
|
+
- lib/open_classes/kernel/evalb.rb
|
139
140
|
- lib/open_classes/kernel/null.rb
|
140
141
|
- lib/open_classes/kernel/p_evals.rb
|
141
142
|
- lib/open_classes/module.rb
|
@@ -218,6 +219,7 @@ files:
|
|
218
219
|
- spec/open_classes/kernel/booleans_spec.rb
|
219
220
|
- spec/open_classes/kernel/bulk_define_methods_spec.rb
|
220
221
|
- spec/open_classes/kernel/bulk_puts_eval_spec.rb
|
222
|
+
- spec/open_classes/kernel/evalb_spec.rb
|
221
223
|
- spec/open_classes/kernel/null_spec.rb
|
222
224
|
- spec/open_classes/kernel/print_eval_spec.rb
|
223
225
|
- spec/open_classes/kernel/puts_eval_spec.rb
|
@@ -322,6 +324,7 @@ test_files:
|
|
322
324
|
- spec/open_classes/kernel/booleans_spec.rb
|
323
325
|
- spec/open_classes/kernel/bulk_define_methods_spec.rb
|
324
326
|
- spec/open_classes/kernel/bulk_puts_eval_spec.rb
|
327
|
+
- spec/open_classes/kernel/evalb_spec.rb
|
325
328
|
- spec/open_classes/kernel/null_spec.rb
|
326
329
|
- spec/open_classes/kernel/print_eval_spec.rb
|
327
330
|
- spec/open_classes/kernel/puts_eval_spec.rb
|