class Crew::Task::Arguments::Definition
Attributes
desc[R]
name[R]
type[R]
Public Class Methods
new(name, type, desc, opts)
click to toggle source
# File lib/crew/task/arguments.rb, line 21 def initialize(name, type, desc, opts) @name, @type, @desc, @opts = name, type, desc, opts end
Public Instance Methods
glob?()
click to toggle source
# File lib/crew/task/arguments.rb, line 42 def glob? @type == :glob end
required?()
click to toggle source
# File lib/crew/task/arguments.rb, line 38 def required? @type == :required end
value(args, opts)
click to toggle source
# File lib/crew/task/arguments.rb, line 25 def value(args, opts) val = case @type when :required then args.shift when :opt then opts.key?(@name) ? opts[@name] : @opts[:default] when :glob then args.slice!(0, args.size) else raise "unknown #{@name}" end if @opts[:type] == Integer val = Integer(val) end val end