Class: CabezaDeTermo::JsonSpec::MessageSend

Inherits:
Object
  • Object
show all
Defined in:
lib/cabeza-de-termo/json-spec/metaprogramming/message-send.rb

Overview

A message to be sent to an object. It holds the receiver, the method name and the arguments. It justs waits to be evaluated with :call.

Instance Method Summary collapse

Constructor Details

#initialize(receiver, method_name, *args, &block) ⇒ MessageSend

Returns a new instance of MessageSend.



9
10
11
12
13
14
# File 'lib/cabeza-de-termo/json-spec/metaprogramming/message-send.rb', line 9

def  initialize(receiver, method_name, *args, &block)
  @receiver = receiver
  @method_name = method_name
  @args = args
  @block = block
end

Instance Method Details

#argsObject



24
25
26
# File 'lib/cabeza-de-termo/json-spec/metaprogramming/message-send.rb', line 24

def args()
  @args
end

#blockObject



28
29
30
# File 'lib/cabeza-de-termo/json-spec/metaprogramming/message-send.rb', line 28

def block()
  @block
end

#callObject



32
33
34
# File 'lib/cabeza-de-termo/json-spec/metaprogramming/message-send.rb', line 32

def call()
  receiver.send(method_name, *args, &@block)
end

#method_nameObject



20
21
22
# File 'lib/cabeza-de-termo/json-spec/metaprogramming/message-send.rb', line 20

def method_name()
  @method_name
end

#receiverObject



16
17
18
# File 'lib/cabeza-de-termo/json-spec/metaprogramming/message-send.rb', line 16

def receiver()
  @receiver
end