Class: Code::Node::Call::Block

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

Instance Method Summary collapse

Constructor Details

#initialize(parsed) ⇒ Block

Returns a new instance of Block.



5
6
7
8
9
10
11
12
13
14
# File 'lib/code/node/call.rb', line 5

def initialize(parsed)
  @parameters =
    parsed
      .delete(:parameters) { [] }
      .map { |parameter| Node::FunctionParameter.new(parameter) }

  @body = Node::Code.new(parsed.delete(:body))

  super(parsed)
end

Instance Method Details

#evaluate(**args) ⇒ Object



16
17
18
19
20
# File 'lib/code/node/call.rb', line 16

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