Class: Spud::TaskArg
- Inherits:
-
Object
- Object
- Spud::TaskArg
- Defined in:
- lib/spud/task_arg.rb
Instance Method Summary collapse
- #has_default? ⇒ Boolean
-
#initialize(name, type, default: nil) ⇒ TaskArg
constructor
A new instance of TaskArg.
- #named? ⇒ Boolean
- #positional? ⇒ Boolean
- #required? ⇒ Boolean
- #to_s ⇒ String
Constructor Details
#initialize(name, type, default: nil) ⇒ TaskArg
Returns a new instance of TaskArg.
6 7 8 9 10 11 12 |
# File 'lib/spud/task_arg.rb', line 6 def initialize(name, type, default: nil) raise 'must be of type "positional" or "named"' unless %w[positional named].include?(type) @name = name @type = type @default = default end |
Instance Method Details
#has_default? ⇒ Boolean
20 21 22 |
# File 'lib/spud/task_arg.rb', line 20 def has_default? !!@default end |
#named? ⇒ Boolean
30 31 32 |
# File 'lib/spud/task_arg.rb', line 30 def named? @type == 'named' end |
#positional? ⇒ Boolean
25 26 27 |
# File 'lib/spud/task_arg.rb', line 25 def positional? @type == 'positional' end |
#required? ⇒ Boolean
15 16 17 |
# File 'lib/spud/task_arg.rb', line 15 def required? !has_default? end |
#to_s ⇒ String
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/spud/task_arg.rb', line 35 def to_s if positional? if has_default? "<#{@name}=#{@default}>" else "<#{@name}>" end else if has_default? "--#{@name}=#{@default}" else "--#{@name}" end end end |