Sha256: d66f091768dcea1ac5c5e5990e8b13a66042fd0ca8627bf44d117745f01293d7

Contents?: true

Size: 551 Bytes

Versions: 10

Compression:

Stored size: 551 Bytes

Contents

require 'hermod/validators/base'

module Hermod
  module Validators
    # Checks a value is in the given range
    class Range < Base
      attr_reader :range

      def initialize(range_or_min, max = nil)
        if max
          @range = range_or_min..max
        else
          @range = range_or_min
        end
      end

      private

      def test(value, attributes)
        value.blank? || range.cover?(value)
      end

      def message(value, attributes)
        "must be between #{range.min} and #{range.max}"
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
hermod-3.3.0 lib/hermod/validators/range.rb
hermod-3.2.0 lib/hermod/validators/range.rb
hermod-3.0.0 lib/hermod/validators/range.rb
hermod-2.7.0 lib/hermod/validators/range.rb
hermod-2.7.0.pre.rc.1 lib/hermod/validators/range.rb
hermod-2.6.2 lib/hermod/validators/range.rb
hermod-2.6.1 lib/hermod/validators/range.rb
hermod-2.5.3 lib/hermod/validators/range.rb
hermod-2.5.2 lib/hermod/validators/range.rb
hermod-2.5.1 lib/hermod/validators/range.rb