class HaveAPI::Validators::Inclusion
Checks that the value is from given set of allowed values.
Short form:
string :param, choices: %i(one two three)
Full form:
string :param, choices: { values: %i(one two three), message: 'the error message' }
Option ‘choices` is an alias to `include`.
Public Instance Methods
Source
# File lib/haveapi/validators/inclusion.rb, line 37 def describe { values: @values, message: @message } end
Source
# File lib/haveapi/validators/inclusion.rb, line 20 def setup values = simple? ? take : take(:values) if values.is_a?(::Hash) @values = {} values.each do |k, v| @values[k.is_a?(::Symbol) ? k.to_s : k] = v end else @values = values.map { |v| v.is_a?(::Symbol) ? v.to_s : v } end @message = take(:message, '%{value} cannot be used') end
Source
# File lib/haveapi/validators/inclusion.rb, line 44 def valid?(v) if @values.is_a?(::Hash) @values.has_key?(v) else @values.include?(v) end end