Class: Bashly::Script::Flag
- Defined in:
- lib/bashly/script/flag.rb
Instance Attribute Summary
Attributes inherited from Base
Attributes included from Renderable
Class Method Summary collapse
Instance Method Summary collapse
Methods included from Introspection::Validate
Methods included from Introspection::Visibility
Methods included from Completions::Flag
#completion_data, #completion_option_entry
Methods inherited from Base
#help, #initialize, #method_missing, #optional, #respond_to_missing?, #summary
Methods included from Renderable
#load_user_file, #render, #strings, #user_file_exist?, #user_file_path, #user_string, #view_marker
Constructor Details
This class inherits a constructor from Bashly::Script::Base
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Bashly::Script::Base
Class Method Details
.option_keys ⇒ Object
11 12 13 14 15 16 |
# File 'lib/bashly/script/flag.rb', line 11 def option_keys @option_keys ||= %i[ allowed arg completions conflicts default help long needs private repeatable required short unique validate ] end |
Instance Method Details
#aliases ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/bashly/script/flag.rb', line 19 def aliases if long && short [long, short] elsif long [long] else [short] end end |
#default_string ⇒ Object
29 30 31 32 33 34 35 36 37 |
# File 'lib/bashly/script/flag.rb', line 29 def default_string if default.is_a?(Array) Shellwords.shelljoin default elsif default.is_a?(String) && repeatable Shellwords.shellescape default else default end end |
#name ⇒ Object
39 40 41 |
# File 'lib/bashly/script/flag.rb', line 39 def name long || short end |
#usage_string(extended: false) ⇒ Object
43 44 45 46 47 48 49 |
# File 'lib/bashly/script/flag.rb', line 43 def usage_string(extended: false) result = [aliases.join(', ')] result << arg.upcase if arg result << strings[:required] if required && extended result << strings[:repeatable] if repeatable && extended result.join ' ' end |