Class: Spank::Invocation

Inherits:
Object
  • Object
show all
Defined in:
lib/spank/invocation.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(instance, method, args, block) ⇒ Invocation

Returns a new instance of Invocation.



5
6
7
8
9
10
# File 'lib/spank/invocation.rb', line 5

def initialize(instance, method, args, block)
  @instance = instance
  @method = method
  @arguments = args
  @block = block
end

Instance Attribute Details

#argumentsObject (readonly)

Returns the value of attribute arguments.



3
4
5
# File 'lib/spank/invocation.rb', line 3

def arguments
  @arguments
end

#instanceObject (readonly)

Returns the value of attribute instance.



3
4
5
# File 'lib/spank/invocation.rb', line 3

def instance
  @instance
end

#methodObject (readonly)

Returns the value of attribute method.



3
4
5
# File 'lib/spank/invocation.rb', line 3

def method
  @method
end

#resultObject (readonly)

Returns the value of attribute result.



3
4
5
# File 'lib/spank/invocation.rb', line 3

def result
  @result
end

Instance Method Details

#proceedObject



12
13
14
15
16
17
18
# File 'lib/spank/invocation.rb', line 12

def proceed
  if @block
    @result = @instance.public_send(@method, @arguments, @block)
  else
    @result = @instance.public_send(@method, @arguments)
  end
end