Class: Hammer::Command
- Inherits:
-
Object
- Object
- Hammer::Command
- Defined in:
- lib/hammer/command.rb
Overview
A single registered command on a Hammer class.
Instance Attribute Summary collapse
-
#alts ⇒ Object
readonly
Returns the value of attribute alts.
-
#desc ⇒ Object
readonly
Returns the value of attribute desc.
-
#examples ⇒ Object
readonly
Returns the value of attribute examples.
-
#handler ⇒ Object
Returns the value of attribute handler.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#needs ⇒ Object
readonly
Returns the value of attribute needs.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Instance Method Summary collapse
- #add_alt(name) ⇒ Object
- #add_example(text) ⇒ Object
- #add_need(name) ⇒ Object
- #add_option(option) ⇒ Object
-
#brief ⇒ Object
First line of ‘desc`, used in the flat command listing.
-
#initialize(name:, desc: '', handler: nil) ⇒ Command
constructor
A new instance of Command.
- #matches?(name) ⇒ Boolean
Constructor Details
#initialize(name:, desc: '', handler: nil) ⇒ Command
Returns a new instance of Command.
7 8 9 10 11 12 13 14 15 |
# File 'lib/hammer/command.rb', line 7 def initialize(name:, desc: '', handler: nil) @name = name.to_s @desc = desc.to_s.rstrip @handler = handler @options = [] @examples = [] @alts = [] @needs = [] end |
Instance Attribute Details
#alts ⇒ Object (readonly)
Returns the value of attribute alts.
4 5 6 |
# File 'lib/hammer/command.rb', line 4 def alts @alts end |
#desc ⇒ Object (readonly)
Returns the value of attribute desc.
4 5 6 |
# File 'lib/hammer/command.rb', line 4 def desc @desc end |
#examples ⇒ Object (readonly)
Returns the value of attribute examples.
4 5 6 |
# File 'lib/hammer/command.rb', line 4 def examples @examples end |
#handler ⇒ Object
Returns the value of attribute handler.
5 6 7 |
# File 'lib/hammer/command.rb', line 5 def handler @handler end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
4 5 6 |
# File 'lib/hammer/command.rb', line 4 def name @name end |
#needs ⇒ Object (readonly)
Returns the value of attribute needs.
4 5 6 |
# File 'lib/hammer/command.rb', line 4 def needs @needs end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
4 5 6 |
# File 'lib/hammer/command.rb', line 4 def @options end |
Instance Method Details
#add_alt(name) ⇒ Object
30 31 32 |
# File 'lib/hammer/command.rb', line 30 def add_alt(name) @alts << name.to_s end |
#add_example(text) ⇒ Object
26 27 28 |
# File 'lib/hammer/command.rb', line 26 def add_example(text) @examples << text.to_s end |
#add_need(name) ⇒ Object
34 35 36 |
# File 'lib/hammer/command.rb', line 34 def add_need(name) @needs << name.to_s end |
#add_option(option) ⇒ Object
22 23 24 |
# File 'lib/hammer/command.rb', line 22 def add_option(option) @options << option end |
#brief ⇒ Object
First line of ‘desc`, used in the flat command listing.
18 19 20 |
# File 'lib/hammer/command.rb', line 18 def brief @desc.lines.first&.chomp.to_s end |
#matches?(name) ⇒ Boolean
38 39 40 41 |
# File 'lib/hammer/command.rb', line 38 def matches?(name) name = name.to_s name == @name || @alts.include?(name) end |