class Slnky::Command::Processor

Attributes

banner[R]
doc[R]
name[R]

Public Class Methods

new(name, banner, doc) click to toggle source
# File lib/slnky/command.rb, line 86
def initialize(name, banner, doc)
  @name = name.to_s
  @banner = banner
  @doc = doc =~ /^Usage/ ? doc : "Usage: #{doc}"
end

Public Instance Methods

process(args) click to toggle source
# File lib/slnky/command.rb, line 96
def process(args)
  opts = Docopt::docopt(@doc, argv: args||[])
  data = Slnky::Data.new
  opts.each do |key, value|
    k = key.gsub(/^--/, '').downcase
    data.send("#{k}=", value)
  end
  data
end
usage() click to toggle source
# File lib/slnky/command.rb, line 92
def usage
  doc.lines.first.chomp
end