Sha256: ff6ea1a9457ea8dbe60a8ad03b389829f8fa5ae270b503ac50d48664bf3d0ced

Contents?: true

Size: 513 Bytes

Versions: 10

Compression:

Stored size: 513 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.blank? || range.cover?(value)
      end

      def message
        "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-2.5.0 lib/hermod/validators/range.rb
hermod-2.4.1 lib/hermod/validators/range.rb
hermod-2.4.0 lib/hermod/validators/range.rb
hermod-2.2.0 lib/hermod/validators/range.rb
hermod-2.1.0 lib/hermod/validators/range.rb
hermod-1.2.9 lib/hermod/validators/range.rb
hermod-1.2.8 lib/hermod/validators/range.rb
hermod-1.2.7 lib/hermod/validators/range.rb
hermod-1.2.6 lib/hermod/validators/range.rb
hermod-1.2.5 lib/hermod/validators/range.rb