Sha256: 1230378c7180c692c6f8d202127f32753d82156bdb6adf514a4857478ebc9214

Contents?: true

Size: 1.32 KB

Versions: 35

Compression:

Stored size: 1.32 KB

Contents

# Note I did want to put this validator in lib but I could not get it to load
# if put in app/validators. Probably something dumb I was doing, so it could be good
# to move this file later if you can get to the bottom of the issue.
# (I wondered if it was to do with load order - the model loading before the validator -
# although other validators are not exhibiting this issue)
# --------------------------------------------------------------------------------------
# This is a sub-class of the rails InclusionValidator that will use a different
# validation I18n message with `to` and `from` arguments.
#
# Rather than "is not included in the list", you can use the I18n args to build a
# more helpful more helpful message, e.g.:
# activerecord:
#   errors:
#    messages:
#      numeric_inclusion: "must be between %{from} and %{to}"

class NumericInclusionValidator < ActiveModel::Validations::InclusionValidator
  def validate_each(record, attribute, value)
    delimiter = options[:in]
    exclusions = delimiter.respond_to?(:call) ? delimiter.call(record) : delimiter
    unless exclusions.send(inclusion_method(exclusions), value)
      i18n_args = options.except(:in)
                         .merge!(value: value, from: delimiter.first, to: delimiter.last)
      record.errors.add(attribute, :numeric_inclusion, i18n_args)
    end
  end
end

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
renalware-core-2.0.16 lib/numeric_inclusion_validator.rb
renalware-core-2.0.15 lib/numeric_inclusion_validator.rb
renalware-core-2.0.14 lib/numeric_inclusion_validator.rb
renalware-core-2.0.13 lib/numeric_inclusion_validator.rb
renalware-core-2.0.12 lib/numeric_inclusion_validator.rb
renalware-core-2.0.11 lib/numeric_inclusion_validator.rb
renalware-core-2.0.9 lib/numeric_inclusion_validator.rb
renalware-core-2.0.8 lib/numeric_inclusion_validator.rb
renalware-core-2.0.7 lib/numeric_inclusion_validator.rb
renalware-core-2.0.5 lib/numeric_inclusion_validator.rb
renalware-core-2.0.4 lib/numeric_inclusion_validator.rb
renalware-core-2.0.3 lib/numeric_inclusion_validator.rb
renalware-core-2.0.2 lib/numeric_inclusion_validator.rb
renalware-core-2.0.1 lib/numeric_inclusion_validator.rb
renalware-core-2.0.0 lib/numeric_inclusion_validator.rb
renalware-core-2.0.0.pre.rc13 lib/numeric_inclusion_validator.rb
renalware-core-2.0.0.pre.rc11 lib/numeric_inclusion_validator.rb
renalware-core-2.0.0.pre.rc10 lib/numeric_inclusion_validator.rb
renalware-core-2.0.0.pre.rc9 lib/numeric_inclusion_validator.rb
renalware-core-2.0.0.pre.rc8 lib/numeric_inclusion_validator.rb