Class: Modifiers::MethodInvocation

Inherits:
Object
  • Object
show all
Defined in:
lib/modifiers/method_invocation.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(method:, receiver:, arguments:) ⇒ MethodInvocation

Returns a new instance of MethodInvocation.



3
4
5
6
7
# File 'lib/modifiers/method_invocation.rb', line 3

def initialize(method:, receiver:, arguments:)
  @method = method
  @receiver = receiver
  @arguments = arguments
end

Instance Attribute Details

#argumentsObject (readonly)

Returns the value of attribute arguments.



9
10
11
# File 'lib/modifiers/method_invocation.rb', line 9

def arguments
  @arguments
end

Instance Method Details

#invoke(context = receiver) ⇒ Object



11
12
13
# File 'lib/modifiers/method_invocation.rb', line 11

def invoke(context = receiver)
  method.bind(context).call(*arguments)
end

#locationObject



15
16
17
# File 'lib/modifiers/method_invocation.rb', line 15

def location
  [file, line_no]
end

#method_identifierObject



23
24
25
# File 'lib/modifiers/method_invocation.rb', line 23

def method_identifier
  target + method_name.to_s
end

#method_nameObject



19
20
21
# File 'lib/modifiers/method_invocation.rb', line 19

def method_name
  method.name
end