Class: Ace::Support::Cli::Models::Option
- Inherits:
-
Object
- Object
- Ace::Support::Cli::Models::Option
- Defined in:
- lib/ace/support/cli/models/option.rb
Constant Summary collapse
- VALID_TYPES =
%i[string integer float boolean array hash].freeze
Instance Attribute Summary collapse
-
#aliases ⇒ Object
readonly
Returns the value of attribute aliases.
-
#default ⇒ Object
readonly
Returns the value of attribute default.
-
#desc ⇒ Object
readonly
Returns the value of attribute desc.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#repeat ⇒ Object
readonly
Returns the value of attribute repeat.
-
#required ⇒ Object
readonly
Returns the value of attribute required.
-
#type ⇒ Object
readonly
Returns the value of attribute type.
-
#values ⇒ Object
readonly
Returns the value of attribute values.
Instance Method Summary collapse
-
#initialize(name:, type: :string, default: nil, desc: "", aliases: [], values: nil, required: false, repeat: false) ⇒ Option
constructor
A new instance of Option.
- #long_switch ⇒ Object
Constructor Details
#initialize(name:, type: :string, default: nil, desc: "", aliases: [], values: nil, required: false, repeat: false) ⇒ Option
Returns a new instance of Option.
12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/ace/support/cli/models/option.rb', line 12 def initialize(name:, type: :string, default: nil, desc: "", aliases: [], values: nil, required: false, repeat: false) @name = name.to_sym @type = type.to_sym @default = default @desc = desc @aliases = normalize_aliases(Array(aliases)) @values = values @required = required @repeat = repeat validate! end |
Instance Attribute Details
#aliases ⇒ Object (readonly)
Returns the value of attribute aliases.
10 11 12 |
# File 'lib/ace/support/cli/models/option.rb', line 10 def aliases @aliases end |
#default ⇒ Object (readonly)
Returns the value of attribute default.
10 11 12 |
# File 'lib/ace/support/cli/models/option.rb', line 10 def default @default end |
#desc ⇒ Object (readonly)
Returns the value of attribute desc.
10 11 12 |
# File 'lib/ace/support/cli/models/option.rb', line 10 def desc @desc end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
10 11 12 |
# File 'lib/ace/support/cli/models/option.rb', line 10 def name @name end |
#repeat ⇒ Object (readonly)
Returns the value of attribute repeat.
10 11 12 |
# File 'lib/ace/support/cli/models/option.rb', line 10 def repeat @repeat end |
#required ⇒ Object (readonly)
Returns the value of attribute required.
10 11 12 |
# File 'lib/ace/support/cli/models/option.rb', line 10 def required @required end |
#type ⇒ Object (readonly)
Returns the value of attribute type.
10 11 12 |
# File 'lib/ace/support/cli/models/option.rb', line 10 def type @type end |
#values ⇒ Object (readonly)
Returns the value of attribute values.
10 11 12 |
# File 'lib/ace/support/cli/models/option.rb', line 10 def values @values end |
Instance Method Details
#long_switch ⇒ Object
24 25 26 |
# File 'lib/ace/support/cli/models/option.rb', line 24 def long_switch "--#{name.to_s.tr("_", "-")}" end |