class Mlc::Abstract::Call

Attributes

args[R]
name[RW]
object[RW]

Public Class Methods

new() click to toggle source
# File lib/mlc/abstract/call.rb, line 6
def initialize
  @args = []
end

Public Instance Methods

to_lua(indent, options, state) click to toggle source
# File lib/mlc/abstract/call.rb, line 10
def to_lua(indent, options, state)
  obj = @object.to_lua(indent + 1, options, state)
  args = @args.dup.unshift Raw.new('nil')
  name = "m#{@name}"
  if name =~ /^[A-Za-z][A-Za-z0-1_]*$/
    "#{obj}:#{name}#{Mlc.prepare_args(indent, options, state, args)}"
  else
    args.unshift Raw.new("'#{Mlc.escape_str(name)}'")
    "#{obj}:_call#{Mlc.prepare_args(indent, options, state, args)}"
  end
end