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
-
#usage ⇒ Object
Get the usage string CR: This should probably not be here.
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
88 89 90 91 92 93 94 |
# File 'lib/gli/command_support.rb', line 88 def arg_name(d,=[]) if parent.kind_of? Command parent.arg_name(d,) else super(d,) end 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:
122 123 124 |
# File 'lib/gli/command_support.rb', line 122 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
126 127 128 |
# File 'lib/gli/command_support.rb', line 126 def default_description @default_desc end |
#default_value(d) ⇒ Object
96 97 98 99 100 101 102 |
# File 'lib/gli/command_support.rb', line 96 def default_value(d) if parent.kind_of? Command parent.default_value(d) else super(d) end end |
#desc(d) ⇒ Object
72 73 74 75 76 77 78 |
# File 'lib/gli/command_support.rb', line 72 def desc(d) if parent.kind_of? Command parent.desc(d) else super(d) end end |
#execute(global_options, options, arguments) ⇒ Object
Executes the command
131 132 133 134 135 136 137 138 |
# File 'lib/gli/command_support.rb', line 131 def execute(,,arguments) subcommand,arguments = find_subcommand(arguments) if subcommand subcommand.execute(,,arguments) else get_action(arguments).call(,,arguments) end end |
#flag(*names) ⇒ Object
52 53 54 55 56 57 58 59 60 |
# File 'lib/gli/command_support.rb', line 52 def flag(*names) new_flag = if parent.kind_of? Command parent.flag(*names) else super(*names) end new_flag.associated_command = self new_flag end |
#flags ⇒ Object
Return the flags as a Hash
114 115 116 |
# File 'lib/gli/command_support.rb', line 114 def flags @flags ||= {} end |
#get_default_command ⇒ Object
154 155 156 |
# File 'lib/gli/command_support.rb', line 154 def get_default_command @default_command end |
#has_action? ⇒ Boolean
150 151 152 |
# File 'lib/gli/command_support.rb', line 150 def has_action? !!@action end |
#long_desc(d) ⇒ Object
80 81 82 83 84 85 86 |
# File 'lib/gli/command_support.rb', line 80 def long_desc(d) if parent.kind_of? Command parent.long_desc(d) else super(d) end 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
62 63 64 65 66 67 68 69 70 |
# File 'lib/gli/command_support.rb', line 62 def switch(*names) new_switch = if parent.kind_of? Command parent.switch(*names) else super(*names) end new_switch.associated_command = self new_switch end |
#switches ⇒ Object
Return the switches as a Hash
118 119 120 |
# File 'lib/gli/command_support.rb', line 118 def switches @switches ||= {} end |
#topmost_ancestor ⇒ Object
140 141 142 143 144 145 146 147 148 |
# File 'lib/gli/command_support.rb', line 140 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 |
#usage ⇒ Object
Get the usage string CR: This should probably not be here
106 107 108 109 110 111 |
# File 'lib/gli/command_support.rb', line 106 def usage usage = name.to_s usage += ' [command options]' if !flags.empty? || !switches.empty? usage += ' ' + @arguments_description if @arguments_description usage end |