Module: Cult::CLI::ArgumentArrayExtensions

Defined in:
lib/cult/cli/cri_extensions.rb

Overview

This allows further – options to be passed as literals instead of being stripped.

cult node ssh Something -- some-command -- something

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#explicit_tailObject (readonly)

Returns the value of attribute explicit_tail.



15
16
17
# File 'lib/cult/cli/cri_extensions.rb', line 15

def explicit_tail
  @explicit_tail
end

Instance Method Details

#initialize(raw_arguments) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/cult/cli/cri_extensions.rb', line 17

def initialize(raw_arguments)
  @explicit_tail = []

  super_super = Array.instance_method(:initialize).bind(self)
  if (index = raw_arguments.index("--"))
    @explicit_tail = raw_arguments[index + 1 .. -1]
    processed = raw_arguments[0 ... index] + @explicit_tail
    super_super.call(processed)
  else
    super_super.call(raw_arguments)
  end
  @raw_arguments = raw_arguments
end