Module: GLI::CommandSupport
- Included in:
- Command
- Defined in:
- lib/gli/command_support.rb
Overview
Things unrelated to the true public interface of Command that are needed for bookkeeping and help support. Generally, you shouldn’t be calling these methods; they are technically public but are essentially part of GLI’s internal implementation and subject to change
Instance Attribute Summary collapse
-
#parent ⇒ Object
The parent of this command, either the GLI app, or another command.
Instance Method Summary collapse
- #arg_name(d, options = []) ⇒ Object
- #arguments ⇒ Object
-
#arguments_description ⇒ Object
Return the arguments description.
- #arguments_options ⇒ Object
-
#commands ⇒ Object
:nodoc:.
-
#commands_declaration_order ⇒ Object
Get an array of commands, ordered by when they were declared.
- #context_description ⇒ Object
- #default_description ⇒ Object
- #default_value(d) ⇒ Object
- #desc(d) ⇒ Object
-
#examples ⇒ Object
Returns the array of examples.
-
#execute(global_options, options, arguments) ⇒ Object
Executes the command.
- #flag(*names) ⇒ Object
-
#flags ⇒ Object
Return the flags as a Hash.
- #get_default_command ⇒ Object
- #has_action? ⇒ Boolean
- #long_desc(d) ⇒ Object
-
#names ⇒ Object
Return the Array of the command’s names.
-
#nodoc ⇒ Object
Return true to avoid including this command in your help strings Will honor the hide_commands_without_desc flag.
-
#skips_around ⇒ Object
If true, this command doesn’t want the around block called.
-
#skips_post ⇒ Object
If true, this command doesn’t want the post block run before it executes.
-
#skips_pre ⇒ Object
If true, this command doesn’t want the pre block run before it executes.
- #switch(*names) ⇒ Object
-
#switches ⇒ Object
Return the switches as a Hash.
- #topmost_ancestor ⇒ Object
Instance Attribute Details
#parent ⇒ Object
The parent of this command, either the GLI app, or another command
7 8 9 |
# File 'lib/gli/command_support.rb', line 7 def parent @parent end |
Instance Method Details
#arg_name(d, options = []) ⇒ Object
102 103 104 105 |
# File 'lib/gli/command_support.rb', line 102 def arg_name(d,=[]) parent.arg_name(d,) if parent.kind_of?(Command) && send_declarations_to_parent? super(d,) end |
#arguments ⇒ Object
28 29 30 |
# File 'lib/gli/command_support.rb', line 28 def arguments @arguments end |
#arguments_description ⇒ Object
Return the arguments description
20 21 22 |
# File 'lib/gli/command_support.rb', line 20 def arguments_description @arguments_description end |
#arguments_options ⇒ Object
24 25 26 |
# File 'lib/gli/command_support.rb', line 24 def @arguments_options end |
#commands ⇒ Object
:nodoc:
121 122 123 |
# File 'lib/gli/command_support.rb', line 121 def commands # :nodoc: @commands ||= {} end |
#commands_declaration_order ⇒ Object
Get an array of commands, ordered by when they were declared
58 59 60 |
# File 'lib/gli/command_support.rb', line 58 def commands_declaration_order # :nodoc: @commands_declaration_order end |
#context_description ⇒ Object
9 10 11 |
# File 'lib/gli/command_support.rb', line 9 def context_description "in the command #{name}" end |
#default_description ⇒ Object
125 126 127 |
# File 'lib/gli/command_support.rb', line 125 def default_description @default_desc end |
#default_value(d) ⇒ Object
107 108 109 110 |
# File 'lib/gli/command_support.rb', line 107 def default_value(d) parent.default_value(d) if parent.kind_of?(Command) && send_declarations_to_parent? super(d) end |
#desc(d) ⇒ Object
92 93 94 95 |
# File 'lib/gli/command_support.rb', line 92 def desc(d) parent.desc(d) if parent.kind_of?(Command) && send_declarations_to_parent? super(d) end |
#examples ⇒ Object
Returns the array of examples
53 54 55 |
# File 'lib/gli/command_support.rb', line 53 def examples @examples end |
#execute(global_options, options, arguments) ⇒ Object
Executes the command
130 131 132 |
# File 'lib/gli/command_support.rb', line 130 def execute(,,arguments) get_action(arguments).call(,,arguments) end |
#flag(*names) ⇒ Object
62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/gli/command_support.rb', line 62 def flag(*names) if send_declarations_to_parent? new_flag = if parent.kind_of? Command super(*names) parent.flag(*names) else super(*names) end new_flag.associated_command = self new_flag else super(*names) end end |
#flags ⇒ Object
Return the flags as a Hash
113 114 115 |
# File 'lib/gli/command_support.rb', line 113 def flags @flags ||= {} end |
#get_default_command ⇒ Object
148 149 150 |
# File 'lib/gli/command_support.rb', line 148 def get_default_command @default_command end |
#has_action? ⇒ Boolean
144 145 146 |
# File 'lib/gli/command_support.rb', line 144 def has_action? !!@action end |
#long_desc(d) ⇒ Object
97 98 99 100 |
# File 'lib/gli/command_support.rb', line 97 def long_desc(d) parent.long_desc(d) if parent.kind_of?(Command) && send_declarations_to_parent? super(d) end |
#names ⇒ Object
Return the Array of the command’s names
48 49 50 |
# File 'lib/gli/command_support.rb', line 48 def names all_forms end |
#nodoc ⇒ Object
Return true to avoid including this command in your help strings Will honor the hide_commands_without_desc flag
15 16 17 |
# File 'lib/gli/command_support.rb', line 15 def nodoc @hide_commands_without_desc and description.nil? end |
#skips_around ⇒ Object
If true, this command doesn’t want the around block called
43 44 45 |
# File 'lib/gli/command_support.rb', line 43 def skips_around @skips_around end |
#skips_post ⇒ Object
If true, this command doesn’t want the post block run before it executes
38 39 40 |
# File 'lib/gli/command_support.rb', line 38 def skips_post @skips_post end |
#skips_pre ⇒ Object
If true, this command doesn’t want the pre block run before it executes
33 34 35 |
# File 'lib/gli/command_support.rb', line 33 def skips_pre @skips_pre end |
#switch(*names) ⇒ Object
77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# File 'lib/gli/command_support.rb', line 77 def switch(*names) if send_declarations_to_parent? new_switch = if parent.kind_of? Command super(*names) parent.switch(*names) else super(*names) end new_switch.associated_command = self new_switch else super(*names) end end |
#switches ⇒ Object
Return the switches as a Hash
117 118 119 |
# File 'lib/gli/command_support.rb', line 117 def switches @switches ||= {} end |
#topmost_ancestor ⇒ Object
134 135 136 137 138 139 140 141 142 |
# File 'lib/gli/command_support.rb', line 134 def topmost_ancestor some_command = self top = some_command while some_command.kind_of? self.class top = some_command some_command = some_command.parent end top end |