class HaveAPI::Validators::Exclusion

Checks that the value is not reserved.

Short form:

string :param, exclude: %i(one two three)

Full form:

string :param, exclude: {
  values: %i(one two three),
  message: 'the error message'
}

In this case, the value could be anything but ‘one`, `two` or `three`.

Public Instance Methods

describe() click to toggle source
# File lib/haveapi/validators/exclusion.rb, line 29
def describe
  {
    values: @values,
    message: @message
  }
end
setup() click to toggle source
# File lib/haveapi/validators/exclusion.rb, line 21
def setup
  @values = (simple? ? take : take(:values)).map! do |v|
    v.is_a?(::Symbol) ? v.to_s : v
  end

  @message = take(:message, '%{value} cannot be used')
end
valid?(v) click to toggle source
# File lib/haveapi/validators/exclusion.rb, line 36
def valid?(v)
  !@values.include?(v)
end