Class: Muack::Block

Inherits:
Object
  • Object
show all
Defined in:
lib/muack/block.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(block, context = nil) ⇒ Block

Returns a new instance of Block.



5
6
7
# File 'lib/muack/block.rb', line 5

def initialize block, context=nil
  self.block, self.context = block, context
end

Instance Attribute Details

#blockObject

Returns the value of attribute block.



4
5
6
# File 'lib/muack/block.rb', line 4

def block
  @block
end

#contextObject

Returns the value of attribute context.



4
5
6
# File 'lib/muack/block.rb', line 4

def context
  @context
end

Instance Method Details

#call(*args, &actual_block) ⇒ Object



9
10
11
12
13
14
15
# File 'lib/muack/block.rb', line 9

def call *args, &actual_block
  if context # ruby: no way to pass actual_block to instance_exec
    context.instance_exec(*args, &block)
  else
    block.call(*args, &actual_block)
  end
end