Class: EacRubyUtils::Envs::Command

Inherits:
Object
  • Object
show all
Defined in:
lib/eac_ruby_utils/envs/command.rb,
lib/eac_ruby_utils/envs/command/concat.rb,
lib/eac_ruby_utils/envs/command/envvars.rb,
lib/eac_ruby_utils/envs/command/debugging.rb,
lib/eac_ruby_utils/envs/command/execution.rb,
lib/eac_ruby_utils/envs/command/extra_options.rb,
lib/eac_ruby_utils/envs/command/append_command_options.rb

Direct Known Subclasses

Ruby::Command

Defined Under Namespace

Modules: Concat, Debugging, Envvars, Execution, ExtraOptions Classes: AppendCommandOptions

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.sanitize_initialize_arguments(arguments) ⇒ Array

Parameters:

  • command (Array)

Returns:

  • (Array)


14
15
16
17
18
19
20
21
22
# File 'lib/eac_ruby_utils/envs/command.rb', line 14

def sanitize_initialize_arguments(arguments)
  if arguments.count == 1 && arguments.first.is_a?(Array)
    arguments.first
  elsif arguments.is_a?(Array)
    arguments
  else
    raise "Invalid argument command: #{arguments}|#{arguments.class}"
  end
end

Instance Method Details

#append(args) ⇒ Object



30
31
32
# File 'lib/eac_ruby_utils/envs/command.rb', line 30

def append(args)
  duplicate_by_command(self.args + args)
end

#command(options = {}) ⇒ Object



42
43
44
45
46
47
# File 'lib/eac_ruby_utils/envs/command.rb', line 42

def command(options = {})
  append_command_options(
    env.command_line(command_line_without_env),
    options
  )
end

#command_line_without_envString

Returns:



50
51
52
53
54
# File 'lib/eac_ruby_utils/envs/command.rb', line 50

def command_line_without_env
  c = args
  c = c.map { |x| escape(x) }.join(' ') if c.is_a?(Enumerable)
  append_chdir(append_concat(append_envvars(c)))
end

#prepend(args) ⇒ Object



34
35
36
# File 'lib/eac_ruby_utils/envs/command.rb', line 34

def prepend(args)
  duplicate_by_command(args + self.args)
end

#to_sObject



38
39
40
# File 'lib/eac_ruby_utils/envs/command.rb', line 38

def to_s
  "#{args} [ENV: #{env}]"
end