Class: Code::Node::Block

Inherits:
Code::Node show all
Defined in:
lib/code/node/block.rb

Instance Method Summary collapse

Constructor Details

#initialize(block) ⇒ Block

Returns a new instance of Block.



4
5
6
7
8
9
10
# File 'lib/code/node/block.rb', line 4

def initialize(block)
  @body = ::Code::Node::Code.new(block.fetch(:body))
  @arguments = block.fetch(:arguments, [])
  @arguments.map! do |argument|
    ::Code::Node::FunctionArgument.new(argument)
  end
end

Instance Method Details

#evaluate(**args) ⇒ Object



12
13
14
# File 'lib/code/node/block.rb', line 12

def evaluate(**args)
  ::Code::Object::Function.new(arguments: @arguments, body: @body)
end