Method: ParticleCMD::Definition.from_string

Defined in:
lib/particlecmd/definition.rb

.from_string(name, string) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/particlecmd/definition.rb', line 13

def self.from_string(name, string)
  d = new name do end
  string.split(' ').each do |word|
    puts word == '...'
    if word == '...'
      d.collecting = true
    elsif word[0] == '-'
      i = word.match(/-+(.+?)(=(.+))?$/)
      if i[3]
        d.option i[1], argname: i[3]
      else
        d.flag i[1]
      end
    else
      d.positional word
    end
  end
  d
end