Method: Spark::CommandBuilder#add_command

Defined in:
lib/spark/command_builder.rb

#add_command(klass, *args) ⇒ Object



49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/spark/command_builder.rb', line 49

def add_command(klass, *args)
  variables = klass.settings.variables
  validate_size(variables, args)

  built_args = []
  variables.values.zip(args) do |var, arg|
    if var[:function]
      arg = serialize_function(arg)
    end

    validate(arg, var)
    built_args << arg
  end

  comm = klass.new(*built_args)
  @command.commands << comm
  self
end