# File lib/hammer_cli/options/normalizers.rb, line 225 def initialize(allowed_values) @allowed_values = allowed_values end
# File lib/hammer_cli/options/normalizers.rb, line 237 def complete(value) Completer::finalize_completions(@allowed_values) end
# File lib/hammer_cli/options/normalizers.rb, line 229 def description _("Any combination (comma separated list) of '%s'") % quoted_values end
# File lib/hammer_cli/options/normalizers.rb, line 233 def format(value) value.is_a?(String) ? parse(value) : [] end
# File lib/hammer_cli/options/normalizers.rb, line 247 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
# File lib/hammer_cli/options/normalizers.rb, line 243 def quoted_values @allowed_values.map { |v| "'#{v}'" }.join(', ') end