class Toolchain::Validations::Validators::Inclusion

Validates the inclusion of values in an attribute. In the example, only `pending` and `dispatched` are allowed to be set.

@example

class Shipment::Creator
  validates :status, inclusion: {
    in: ["pending", "dispatched"],
    message: "available options are: pending, dispatched"
  }
end

Public Instance Methods

validate() click to toggle source
# File lib/toolchain/validations/validators/inclusion.rb, line 17
def validate
  if not_included?
    errors.add(key_path, message || "is invalid")
  end
end

Private Instance Methods

not_included?() click to toggle source
# File lib/toolchain/validations/validators/inclusion.rb, line 25
def not_included?
  !data[:in].include?(value)
end