class HammerCLI::Options::Normalizers::EnumList
Attributes
allowed_values[R]
Public Class Methods
new(allowed_values)
click to toggle source
# File lib/hammer_cli/options/normalizers.rb, line 288 def initialize(allowed_values) @allowed_values = allowed_values end
Public Instance Methods
complete(value)
click to toggle source
# File lib/hammer_cli/options/normalizers.rb, line 300 def complete(value) Completer::finalize_completions(@allowed_values) end
description()
click to toggle source
# File lib/hammer_cli/options/normalizers.rb, line 292 def description _("Any combination (comma separated list) of '%s'") % quoted_values end
format(value)
click to toggle source
# File lib/hammer_cli/options/normalizers.rb, line 296 def format(value) value.is_a?(String) ? parse(value) : [] end
Private Instance Methods
parse(arr)
click to toggle source
# File lib/hammer_cli/options/normalizers.rb, line 310 def parse(arr) arr.split(",").uniq.tap do |values| unless values.inject(true) { |acc, cur| acc & (@allowed_values.include? cur) } raise ArgumentError, _("Value must be a combination of '%s'.") % quoted_values end end end
quoted_values()
click to toggle source
# File lib/hammer_cli/options/normalizers.rb, line 306 def quoted_values @allowed_values.map { |v| "'#{v}'" }.join(', ') end