class AWS::Record::InclusionValidator

@private

Constants

ACCEPTED_OPTIONS

Public Instance Methods

message() click to toggle source
# File lib/aws/record/validators/inclusion.rb, line 49
def message
  options[:message] || 'is not included in the list'
end
setup(record_class) click to toggle source
# File lib/aws/record/validators/inclusion.rb, line 24
def setup record_class
  ensure_present(:in)
  ensure_type(Enumerable, :in)
end
validate_attribute(record, attribute_name, value_or_values) click to toggle source
# File lib/aws/record/validators/inclusion.rb, line 29
def validate_attribute record, attribute_name, value_or_values
  each_value(value_or_values) do |value|

    included = if value.is_a?(Enumerable)
      value.all?{|v| value_included?(v) }
    else
      value_included?(value)
    end

    record.errors.add(attribute_name, message) unless included

  end
end
value_included?(value) click to toggle source
# File lib/aws/record/validators/inclusion.rb, line 43
def value_included? value
  options[:in].respond_to?(:cover?) ?
    options[:in].cover?(value) :
    options[:in].include?(value)
end