2
2
3
3
require_relative "table_syntax/version"
4
4
require 'rspec/parameterized/table'
5
- require 'binding_ninja '
5
+ require 'binding_of_caller '
6
6
7
7
module RSpec
8
8
module Parameterized
9
9
module TableSyntaxImplement
10
- extend BindingNinja
11
-
12
- def |( where_binding , other )
13
- caller_instance = where_binding . receiver # get caller instance (ExampleGroup)
10
+ def |( other )
11
+ where_binding = binding . of_caller ( 1 ) # get where block binding
12
+ caller_instance = eval ( "self" , where_binding ) # get caller instance (ExampleGroup)
14
13
15
14
if caller_instance . instance_variable_defined? ( :@__parameter_table )
16
15
table = caller_instance . instance_variable_get ( :@__parameter_table )
@@ -24,42 +23,57 @@ def |(where_binding, other)
24
23
row . add_param ( other )
25
24
table
26
25
end
27
- auto_inject_binding :|
28
26
end
29
27
30
28
module TableSyntax
31
- refine Object do
32
- include TableSyntaxImplement
33
- end
29
+ if Gem ::Version . create ( RUBY_VERSION ) >= Gem ::Version . create ( "3.2.0.rc1" )
30
+ refine Object do
31
+ import_methods TableSyntaxImplement
32
+ end
34
33
35
- if Gem ::Version . create ( RUBY_VERSION ) >= Gem ::Version . create ( "2.4.0" )
36
34
refine Integer do
37
- include TableSyntaxImplement
35
+ import_methods TableSyntaxImplement
36
+ end
37
+
38
+ refine Array do
39
+ import_methods TableSyntaxImplement
40
+ end
41
+
42
+ refine NilClass do
43
+ import_methods TableSyntaxImplement
44
+ end
45
+
46
+ refine TrueClass do
47
+ import_methods TableSyntaxImplement
48
+ end
49
+
50
+ refine FalseClass do
51
+ import_methods TableSyntaxImplement
38
52
end
39
53
else
40
- refine Fixnum do
54
+ refine Object do
41
55
include TableSyntaxImplement
42
56
end
43
57
44
- refine Bignum do
58
+ refine Integer do
45
59
include TableSyntaxImplement
46
60
end
47
- end
48
61
49
- refine Array do
50
- include TableSyntaxImplement
51
- end
62
+ refine Array do
63
+ include TableSyntaxImplement
64
+ end
52
65
53
- refine NilClass do
54
- include TableSyntaxImplement
55
- end
66
+ refine NilClass do
67
+ include TableSyntaxImplement
68
+ end
56
69
57
- refine TrueClass do
58
- include TableSyntaxImplement
59
- end
70
+ refine TrueClass do
71
+ include TableSyntaxImplement
72
+ end
60
73
61
- refine FalseClass do
62
- include TableSyntaxImplement
74
+ refine FalseClass do
75
+ include TableSyntaxImplement
76
+ end
63
77
end
64
78
end
65
79
end
0 commit comments