class Spud::TaskArg

Attributes

default[R]
name[R]
type[R]

Public Class Methods

new(name, type, default: nil) click to toggle source
# File lib/spud/task_arg.rb, line 18
def initialize(name, type, default: nil)
  raise 'must be of type "ordered" or "named"' unless %w[ordered named].include?(type)

  @name = name
  @type = type
  @default = default
end

Public Instance Methods

has_default?() click to toggle source
# File lib/spud/task_arg.rb, line 32
def has_default?
  !!@default
end
named?() click to toggle source
# File lib/spud/task_arg.rb, line 42
def named?
  @type == 'named'
end
ordered?() click to toggle source
# File lib/spud/task_arg.rb, line 37
def ordered?
  @type == 'ordered'
end
required?() click to toggle source
# File lib/spud/task_arg.rb, line 27
def required?
  !has_default?
end
to_s() click to toggle source
# File lib/spud/task_arg.rb, line 47
def to_s
  if ordered?
    if has_default?
      "<#{@name}=#{@default}>"
    else
      "<#{@name}>"
    end
  else
    if has_default?
      "--#{@name}=#{@default}"
    else
      "--#{@name}"
    end
  end
end