Given you have an array as an attribute and want to check whether all of its items are included in another array.

class ArrayInclusionValidator < ActiveModel::EachValidator
  def validate_each(record, attribute, values)
    invalid_values = values - options[:in]
 
    record.errors.add(attribute, I18n.t("errors.messages.array_inclusion", invalid_values: invalid_values.join(", "))) if invalid_values.present?
  end
end

Use it as:

validates :available_cat_breeds,
          array_inclusion: {in: %w[british_shorthair birman persian]}