class HammerCLI::CompleterLine

Array of command line words for completion. Splits string line to “words” with trailing spaces. –param?[ ]* or -flag[ ]* or ['“]word?[ ]*

Public Class Methods

new(line) click to toggle source
Calls superclass method
# File lib/hammer_cli/completer.rb, line 45
def initialize(line)
  @line = line
  super(split_line)
end

Public Instance Methods

complete?() click to toggle source
# File lib/hammer_cli/completer.rb, line 50
def complete?
  self.empty? || self.last.complete?
end

Protected Instance Methods

split_line() click to toggle source
# File lib/hammer_cli/completer.rb, line 56
def split_line
  @line.scan(/-[\w\-]+=?[\s]*|["][^"]*["]?[\s]*|['][^']*[']?[\s]*|[^\s]+[\s]*/).collect do |word|
    CompleterWord.new(word.gsub(/=$/, ' '))
  end
end