class HammerCLI::Options::Normalizers::EnumList
Public Class Methods
new(allowed_values)
click to toggle source
# File lib/hammer_cli/options/normalizers.rb, line 232 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 244 def complete(value) Completer::finalize_completions(@allowed_values) end
description()
click to toggle source
# File lib/hammer_cli/options/normalizers.rb, line 236 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 240 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 254 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 250 def quoted_values @allowed_values.map { |v| "'#{v}'" }.join(', ') end