class Bashly::Script::CatchAll

Public Class Methods

from_config(config) click to toggle source
# File lib/bashly/script/catch_all.rb, line 9
def from_config(config)
  options = case config
  when nil
    { enabled: false }
  when String
    { label: config }
  when Hash
    { label: config['label'], help: config['help'], required: config['required'] }
  else
    {}
  end

  new(**options)
end
new(label: nil, help: nil, required: false, enabled: true) click to toggle source
# File lib/bashly/script/catch_all.rb, line 25
def initialize(label: nil, help: nil, required: false, enabled: true)
  @label = label
  @help = help
  @required = required
  @enabled = enabled
end
option_keys() click to toggle source
# File lib/bashly/script/catch_all.rb, line 5
def option_keys
  @option_keys ||= %i[label help required]
end

Public Instance Methods

enabled?() click to toggle source
# File lib/bashly/script/catch_all.rb, line 32
def enabled?
  @enabled
end
help() click to toggle source
# File lib/bashly/script/catch_all.rb, line 40
def help
  enabled? ? @help : nil
end
label() click to toggle source
# File lib/bashly/script/catch_all.rb, line 36
def label
  enabled? ? "#{@label&.upcase}..." : nil
end
required?() click to toggle source
# File lib/bashly/script/catch_all.rb, line 44
def required?
  @required
end
usage_string() click to toggle source
# File lib/bashly/script/catch_all.rb, line 48
def usage_string
  return nil unless enabled?

  required? ? label : "[#{label}]"
end