[フレーム]

Class: UnboundMethod

Inherits:
Object show all
Defined in:
opal/opal/corelib/method.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(source, owner, method, name) ⇒ UnboundMethod

Returns a new instance of UnboundMethod.

73
74
75
76
77
78
# File 'opal/opal/corelib/method.rb', line 73
def initialize(source, owner, method, name)
 @source = source
 @owner = owner
 @method = method
 @name = name
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.

71
72
73
# File 'opal/opal/corelib/method.rb', line 71
def name
 @name
end

#ownerObject (readonly)

Returns the value of attribute owner.

71
72
73
# File 'opal/opal/corelib/method.rb', line 71
def owner
 @owner
end

#sourceObject (readonly)

Returns the value of attribute source.

71
72
73
# File 'opal/opal/corelib/method.rb', line 71
def source
 @source
end

Instance Method Details

#arityObject

80
81
82
# File 'opal/opal/corelib/method.rb', line 80
def arity
 @method.arity
end

#bind(object) ⇒ Object

96
97
98
99
100
101
102
103
104
105
# File 'opal/opal/corelib/method.rb', line 96
def bind(object)
 %x{
 if (#{@owner}.$$is_module || Opal.is_a(#{object}, #{@owner})) {
 return #{::Method .new (object, @owner, @method, @name)};
 }
 else {
 #{::Kernel .raise  ::TypeError , "can't bind singleton method to a different class (expected #{object}.kind_of?(#{@owner} to be true)"};
 }
 }
end

#bind_call(object, *args, &block) ⇒ Object

107
108
109
# File 'opal/opal/corelib/method.rb', line 107
def bind_call(object, *args, &block)
 bind(object).call(*args, &block)
end

#commentsObject

92
93
94
# File 'opal/opal/corelib/method.rb', line 92
def comments
 `#{@method}.$$comments` || []
end

#inspectObject

111
112
113
# File 'opal/opal/corelib/method.rb', line 111
def inspect
 "#<#{self.class}: #{@source}##{@name} (defined in #{@owner} in #{source_location.join(':')})>"
end

#parametersObject

84
85
86
# File 'opal/opal/corelib/method.rb', line 84
def parameters
 `#{@method}.$$parameters`
end

#source_locationObject

88
89
90
# File 'opal/opal/corelib/method.rb', line 88
def source_location
 `#{@method}.$$source_location` || ['(eval)', 0]
end

AltStyle によって変換されたページ (->オリジナル) /