File tree 3 files changed +59
-59
lines changed
3 files changed +59
-59
lines changed Original file line number Diff line number Diff line change
1
+ class Method
2
+ attr_reader :owner , :receiver , :name
3
+
4
+ def initialize ( receiver , method , name )
5
+ @receiver = receiver
6
+ @owner = receiver . class
7
+ @name = name
8
+ @method = method
9
+ end
10
+
11
+ def arity
12
+ @method . arity
13
+ end
14
+
15
+ def call ( *args , &block )
16
+ %x{
17
+ #@method ._p = block;
18
+
19
+ return #@method .apply(#@object , args);
20
+ }
21
+ end
22
+
23
+ alias [] call
24
+
25
+ def unbind
26
+ UnboundMethod . new ( @owner , @method , @name )
27
+ end
28
+
29
+ def to_proc
30
+ @method
31
+ end
32
+
33
+ def inspect
34
+ "#<Method: #{ @obj . class . name } ##@name }>"
35
+ end
36
+ end
37
+
38
+ class UnboundMethod
39
+ attr_reader :owner , :name
40
+
41
+ def initialize ( owner , method , name )
42
+ @owner = owner
43
+ @method = method
44
+ @name = name
45
+ end
46
+
47
+ def arity
48
+ @method . arity
49
+ end
50
+
51
+ def bind ( object )
52
+ Method . new ( object , @method , @name )
53
+ end
54
+
55
+ def inspect
56
+ "#<UnboundMethod: #{ @owner . name } ##@name >"
57
+ end
58
+ end
Original file line number Diff line number Diff line change 17
17
require 'encoding'
18
18
require 'numeric'
19
19
require 'proc'
20
+ require 'method'
20
21
require 'range'
21
22
require 'time'
22
23
require 'struct'
Original file line number Diff line number Diff line change @@ -54,62 +54,3 @@ def to_n
54
54
self
55
55
end
56
56
end
57
-
58
- class Method
59
- attr_reader :owner , :receiver , :name
60
-
61
- def initialize ( receiver , method , name )
62
- @receiver = receiver
63
- @owner = receiver . class
64
- @name = name
65
- @method = method
66
- end
67
-
68
- def arity
69
- @method . arity
70
- end
71
-
72
- def call ( *args , &block )
73
- %x{
74
- #@method ._p = block;
75
-
76
- return #@method .apply(#@object , args);
77
- }
78
- end
79
-
80
- alias [] call
81
-
82
- def unbind
83
- UnboundMethod . new ( @owner , @method , @name )
84
- end
85
-
86
- def to_proc
87
- @method
88
- end
89
-
90
- def inspect
91
- "#<Method: #{ @obj . class . name } ##@name }>"
92
- end
93
- end
94
-
95
- class UnboundMethod
96
- attr_reader :owner , :name
97
-
98
- def initialize ( owner , method , name )
99
- @owner = owner
100
- @method = method
101
- @name = name
102
- end
103
-
104
- def arity
105
- @method . arity
106
- end
107
-
108
- def bind ( object )
109
- Method . new ( object , @method , @name )
110
- end
111
-
112
- def inspect
113
- "#<UnboundMethod: #{ @owner . name } ##@name >"
114
- end
115
- end
You can’t perform that action at this time.
0 commit comments