Class: HammerCLI::Options::Normalizers::ListNested
Defined Under Namespace
Classes: Schema
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
#complete, #description, inherited
Constructor Details
#initialize(schema) ⇒ ListNested
178
179
180
|
# File 'lib/hammer_cli/options/normalizers.rb', line 178
def initialize(schema)
@schema = Schema.new(schema)
end
|
Instance Attribute Details
#schema ⇒ Object
Returns the value of attribute schema.
176
177
178
|
# File 'lib/hammer_cli/options/normalizers.rb', line 176
def schema
@schema
end
|
Class Method Details
.common_description ⇒ Object
150
151
152
153
154
|
# File 'lib/hammer_cli/options/normalizers.rb', line 150
def common_description
_('Comma separated list of values defined by a schema.') +
"\n" +
_('JSON is acceptable and preferred way for such parameters')
end
|
.completion_type ⇒ Object
146
147
148
|
# File 'lib/hammer_cli/options/normalizers.rb', line 146
def completion_type
:schema
end
|
Instance Method Details
#completion_type ⇒ Object
195
196
197
|
# File 'lib/hammer_cli/options/normalizers.rb', line 195
def completion_type
super.merge({ schema: schema.description(richtext: false) })
end
|
182
183
184
185
186
187
188
189
190
191
192
193
|
# File 'lib/hammer_cli/options/normalizers.rb', line 182
def format(val)
return [] unless val.is_a?(String) && !val.empty?
begin
JSON.parse(val)
rescue JSON::ParserError
HammerCLI::CSVParser.new.parse(val).inject([]) do |results, item|
next if item.empty?
results << KeyValueList.new.format(item)
end
end
end
|