class Xcodeproj::XCScheme::CommandLineArguments


LaunchAction or TestAction scheme group.
is just a container of CommandLineArgument objects. It can either appear on a
This class wraps the CommandLineArguments node of a .xcscheme XML file. This

def [](argument)

Returns:
  • (CommandLineArgument) - argument

Parameters:
  • key (String) --
def [](argument)
  all_arguments.find { |var| var.argument == argument }
end

def []=(argument, enabled)

Returns:
  • (CommandLineArgument) - argument

Parameters:
  • value (String) --
  • key (String) --
def []=(argument, enabled)
  assign_argument(:argument => argument, :enabled => enabled)
  self[argument]
end

def all_arguments

Returns:
  • (Array) -
def all_arguments
  @all_arguments ||= @xml_element.get_elements(COMMAND_LINE_ARG_NODE).map { |argument| CommandLineArgument.new(argument) }
end

def assign_argument(argument)

Returns:
  • (Array) -

Parameters:
  • argument (CommandLineArgument, Hash{Symbol => String,Bool}) --
def assign_argument(argument)
  command_line_arg = if argument.is_a?(CommandLineArgument)
                       argument
                     else
                       CommandLineArgument.new(argument)
                     end
  all_arguments.each { |existing_var| remove_argument(existing_var) if existing_var.argument == command_line_arg.argument }
  @xml_element.add_element(command_line_arg.xml_element)
  @all_arguments << command_line_arg
end

def initialize(node_or_arguments = nil)

Parameters:
  • node_or_arguments (nil, REXML::Element, Array, Array String,Bool}>) --
def initialize(node_or_arguments = nil)
  create_xml_element_with_fallback(node_or_arguments, COMMAND_LINE_ARGS_NODE) do
    @all_arguments = []
    node_or_arguments.each { |var| assign_argument(var) } unless node_or_arguments.nil?
  end
end

def remove_argument(argument)

Returns:
  • (Array) -

Parameters:
  • argument (CommandLineArgument, String) --
def remove_argument(argument)
  command_line_arg = if argument.is_a?(CommandLineArgument)
                       argument
                     else
                       CommandLineArgument.new(argument)
                     end
  raise "Unexpected parameter type: #{command_line_arg.class}" unless command_line_arg.is_a?(CommandLineArgument)
  @xml_element.delete_element(command_line_arg.xml_element)
  @all_arguments -= [command_line_arg]
end

def to_a

Returns:
  • (Array String,Bool}>) -
def to_a
  all_arguments.map(&:to_h)
end