class HaveAPI::Validators::Confirmation

Checks that two parameters are equal or not equal.

Short form:

string :param, confirm: :other_parameter

Full form:

string :param, confirm: {
  param: :other_parameter,
  equal: true/false,
  message: 'the error message'
}

‘equal` defaults to `true`.

Public Instance Methods

describe() click to toggle source
# File lib/haveapi/validators/confirmation.rb, line 30
def describe
  {
    equal: @equal ? true : false,
    parameter: @param,
    message: @message
  }
end
setup() click to toggle source
# File lib/haveapi/validators/confirmation.rb, line 21
def setup
  @param = simple? ? take : take(:param)
  @equal = take(:equal, true)
  @message = take(
    :message,
    @equal ? "must be the same as #{@param}" : "must be different from #{@param}"
  )
end
valid?(v) click to toggle source
# File lib/haveapi/validators/confirmation.rb, line 38
def valid?(v)
  if @equal
    v == params[@param]

  else
    v != params[@param]
  end
end