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
181
182
183
|
# File 'lib/hammer_cli/options/normalizers.rb', line 181
def initialize(schema)
@schema = Schema.new(schema)
end
|
Instance Attribute Details
#schema ⇒ Object
Returns the value of attribute schema.
179
180
181
|
# File 'lib/hammer_cli/options/normalizers.rb', line 179
def schema
@schema
end
|
Class Method Details
.common_description ⇒ Object
153
154
155
156
157
|
# File 'lib/hammer_cli/options/normalizers.rb', line 153
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
149
150
151
|
# File 'lib/hammer_cli/options/normalizers.rb', line 149
def completion_type
:schema
end
|
Instance Method Details
#completion_type ⇒ Object
198
199
200
|
# File 'lib/hammer_cli/options/normalizers.rb', line 198
def completion_type
super.merge({ schema: schema.description(richtext: false) })
end
|
185
186
187
188
189
190
191
192
193
194
195
196
|
# File 'lib/hammer_cli/options/normalizers.rb', line 185
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
|