Class: Zapata::Primitive::ConstSend

Inherits:
Object
  • Object
show all
Defined in:
lib/zapata/primitive/const_send.rb

Instance Method Summary collapse

Constructor Details

#initialize(raw_receiver, method_name, args) ⇒ ConstSend



6
7
8
9
10
# File 'lib/zapata/primitive/const_send.rb', line 6

def initialize(raw_receiver, method_name, args)
  @raw_receiver = raw_receiver
  @method_name = method_name
  @args = args
end

Instance Method Details

#nodeObject



12
13
14
# File 'lib/zapata/primitive/const_send.rb', line 12

def node
  OpenStruct.new(method_name: @method_name, args: @args)
end

#to_rawObject



16
17
18
# File 'lib/zapata/primitive/const_send.rb', line 16

def to_raw
  Raw.new(:const_send, "#{Printer.print(@raw_receiver)}.#{node.method_name}#{Predictor::Args.literal(node.args)}")
end