Class: Code::Node::CallArgument

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

Instance Method Summary collapse

Constructor Details

#initialize(parsed) ⇒ CallArgument

Returns a new instance of CallArgument.



4
5
6
7
# File 'lib/code/node/call_argument.rb', line 4

def initialize(parsed)
  @value = Node::Code.new(parsed.delete(:value))
  @name = parsed.delete(:name)
end

Instance Method Details

#evaluate(**args) ⇒ Object



9
10
11
12
13
14
15
16
17
18
# File 'lib/code/node/call_argument.rb', line 9

def evaluate(**args)
  if @name
    ::Code::Object::Argument.new(
      @value.evaluate(**args),
      name: ::Code::Object::String.new(@name)
    )
  else
    ::Code::Object::Argument.new(@value.evaluate(**args))
  end
end