Module: Bashly::Script::Introspection::Flags
- Included in:
- Command
- Defined in:
- lib/bashly/script/introspection/flags.rb
Instance Method Summary collapse
-
#default_flags ⇒ Object
Returns an array of all the default Flags.
-
#fixed_flags? ⇒ Boolean
Returns true if there is at least one fixed flag (–version / –help) Root command always has –version and subcommands always have –help except when it is consumed by catch_all.
-
#flags ⇒ Object
Returns an array of Flags.
-
#global_flags? ⇒ Boolean
Returns true if this command’s flags should be considered as gloal flags, and cascade to subcommands.
-
#needy_flags ⇒ Object
Returns an array of all fpags that need other flags.
-
#public_flags ⇒ Object
Returns only flags that are not private.
-
#required_flags ⇒ Object
Returns an array of all the required Flags.
-
#short_flag_exist?(flag) ⇒ Boolean
Returns true if one of the flags matches the provided short code.
-
#visible_flags ⇒ Object
Returns only public flags, or both public and private flags if Settings.private_reveal_key is set.
-
#whitelisted_flags ⇒ Object
Returns an array of all the flags with a whitelist arg.
Instance Method Details
#default_flags ⇒ Object
Returns an array of all the default Flags
6 7 8 |
# File 'lib/bashly/script/introspection/flags.rb', line 6 def default_flags flags.select(&:default) end |
#fixed_flags? ⇒ Boolean
Returns true if there is at least one fixed flag (–version / –help) Root command always has –version and subcommands always have –help except when it is consumed by catch_all
22 23 24 |
# File 'lib/bashly/script/introspection/flags.rb', line 22 def fixed_flags? root_command? || !catch_all.catch_help? end |
#flags ⇒ Object
Returns an array of Flags
11 12 13 14 15 16 17 |
# File 'lib/bashly/script/introspection/flags.rb', line 11 def flags return [] unless ['flags'] ['flags'].map do || Flag.new end end |
#global_flags? ⇒ Boolean
Returns true if this command’s flags should be considered as gloal flags, and cascade to subcommands
28 29 30 |
# File 'lib/bashly/script/introspection/flags.rb', line 28 def global_flags? flags.any? and commands.any? end |
#needy_flags ⇒ Object
Returns an array of all fpags that need other flags
33 34 35 |
# File 'lib/bashly/script/introspection/flags.rb', line 33 def needy_flags flags.select(&:needs) end |
#public_flags ⇒ Object
Returns only flags that are not private
38 39 40 |
# File 'lib/bashly/script/introspection/flags.rb', line 38 def public_flags flags.reject(&:private) end |
#required_flags ⇒ Object
Returns an array of all the required Flags
43 44 45 |
# File 'lib/bashly/script/introspection/flags.rb', line 43 def required_flags flags.select(&:required) end |
#short_flag_exist?(flag) ⇒ Boolean
Returns true if one of the flags matches the provided short code
48 49 50 |
# File 'lib/bashly/script/introspection/flags.rb', line 48 def short_flag_exist?(flag) flags.any? { |f| f.short == flag } end |
#visible_flags ⇒ Object
Returns only public flags, or both public and private flags if Settings.private_reveal_key is set
54 55 56 |
# File 'lib/bashly/script/introspection/flags.rb', line 54 def visible_flags Settings.private_reveal_key ? flags : public_flags end |
#whitelisted_flags ⇒ Object
Returns an array of all the flags with a whitelist arg
59 60 61 |
# File 'lib/bashly/script/introspection/flags.rb', line 59 def whitelisted_flags flags.select(&:allowed) end |