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_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
-
#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.
-
#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
92 93 94 95 |
# File 'lib/gli/command_support.rb', line 92 def arg_name(d,=[]) parent.arg_name(d,) if parent.kind_of?(Command) && send_declarations_to_parent? super(d,) end |
#arguments_description ⇒ Object
Return the arguments description
19 20 21 |
# File 'lib/gli/command_support.rb', line 19 def arguments_description @arguments_description end |
#arguments_options ⇒ Object
23 24 25 |
# File 'lib/gli/command_support.rb', line 23 def @arguments_options end |
#commands ⇒ Object
:nodoc:
111 112 113 |
# File 'lib/gli/command_support.rb', line 111 def commands # :nodoc: @commands ||= {} end |
#commands_declaration_order ⇒ Object
Get an array of commands, ordered by when they were declared
48 49 50 |
# File 'lib/gli/command_support.rb', line 48 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
115 116 117 |
# File 'lib/gli/command_support.rb', line 115 def default_description @default_desc end |
#default_value(d) ⇒ Object
97 98 99 100 |
# File 'lib/gli/command_support.rb', line 97 def default_value(d) parent.default_value(d) if parent.kind_of?(Command) && send_declarations_to_parent? super(d) end |
#desc(d) ⇒ Object
82 83 84 85 |
# File 'lib/gli/command_support.rb', line 82 def desc(d) parent.desc(d) if parent.kind_of?(Command) && send_declarations_to_parent? super(d) end |
#execute(global_options, options, arguments) ⇒ Object
Executes the command
120 121 122 |
# File 'lib/gli/command_support.rb', line 120 def execute(,,arguments) get_action(arguments).call(,,arguments) end |
#flag(*names) ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/gli/command_support.rb', line 52 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
103 104 105 |
# File 'lib/gli/command_support.rb', line 103 def flags @flags ||= {} end |
#get_default_command ⇒ Object
138 139 140 |
# File 'lib/gli/command_support.rb', line 138 def get_default_command @default_command end |
#has_action? ⇒ Boolean
134 135 136 |
# File 'lib/gli/command_support.rb', line 134 def has_action? !!@action end |
#long_desc(d) ⇒ Object
87 88 89 90 |
# File 'lib/gli/command_support.rb', line 87 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
43 44 45 |
# File 'lib/gli/command_support.rb', line 43 def names all_forms end |
#nodoc ⇒ Object
Return true to avoid including this command in your help strings
14 15 16 |
# File 'lib/gli/command_support.rb', line 14 def nodoc false end |
#skips_around ⇒ Object
If true, this command doesn’t want the around block called
38 39 40 |
# File 'lib/gli/command_support.rb', line 38 def skips_around @skips_around end |
#skips_post ⇒ Object
If true, this command doesn’t want the post block run before it executes
33 34 35 |
# File 'lib/gli/command_support.rb', line 33 def skips_post @skips_post end |
#skips_pre ⇒ Object
If true, this command doesn’t want the pre block run before it executes
28 29 30 |
# File 'lib/gli/command_support.rb', line 28 def skips_pre @skips_pre end |
#switch(*names) ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/gli/command_support.rb', line 67 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
107 108 109 |
# File 'lib/gli/command_support.rb', line 107 def switches @switches ||= {} end |
#topmost_ancestor ⇒ Object
124 125 126 127 128 129 130 131 132 |
# File 'lib/gli/command_support.rb', line 124 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 |