Class: Brigadier::Parameters::Argument
- Inherits:
-
Object
- Object
- Brigadier::Parameters::Argument
show all
- Includes:
- Base
- Defined in:
- lib/brigadier/parameters/argument.rb
Instance Attribute Summary
Attributes included from Base
#description, #name, #value
Instance Method Summary
collapse
Methods included from Base
#attribute_name, #block_defined?, #forbidden_parameters, #hidden?, #normalised_attribute_name, #valid?, #value?
Constructor Details
#initialize(name, description, args, block) ⇒ Argument
Returns a new instance of Argument.
6
7
8
9
10
11
12
13
|
# File 'lib/brigadier/parameters/argument.rb', line 6
def initialize(name, description, args, block)
@name = name
@description = description
@args = args
@value = nil
@block = block
assign_value_from_env_variable
end
|
Instance Method Details
#display_description ⇒ Object
19
20
21
22
23
24
|
# File 'lib/brigadier/parameters/argument.rb', line 19
def display_description
opts = []
opts << 'valid_values: %s' % [ valid_values.inspect ] if valid_values?
opts << 'current: %s' % [ value.inspect ]
'%s (%s)' % [ description, opts.join(', ') ]
end
|
#display_name ⇒ Object
15
16
17
|
# File 'lib/brigadier/parameters/argument.rb', line 15
def display_name
name
end
|
#required? ⇒ Boolean
36
37
38
|
# File 'lib/brigadier/parameters/argument.rb', line 36
def required?
true
end
|
#valid_values ⇒ Object
26
27
28
|
# File 'lib/brigadier/parameters/argument.rb', line 26
def valid_values
args.fetch(:valid_values, [])
end
|
#valid_values? ⇒ Boolean
40
41
42
|
# File 'lib/brigadier/parameters/argument.rb', line 40
def valid_values?
!valid_values.empty?
end
|
#validate! ⇒ Object
30
31
32
33
34
|
# File 'lib/brigadier/parameters/argument.rb', line 30
def validate!
validate_presence! if required?
validate_valid_value! if valid_values?
validate_using_klass! if validator_klasses
end
|