Sha256: 12e1b1d595618b12420b1d60cc91d5ea43e12ee205d5f1af59b859ea7b53951a

Contents?: true

Size: 1.02 KB

Versions: 3

Compression:

Stored size: 1.02 KB

Contents

# -*- encoding: utf-8 -*-

require 'data_mapper/validation/rule/length'

module DataMapper
  module Validation
    class Rule
      module Length

        class Minimum < Rule

          include Length

          attr_reader :expected

          def initialize(attribute_name, options)
            super

            @expected = options.fetch(:minimum)
          end

          def violation_type(resource)
            :too_short
          end

          def violation_data(resource)
            [ [ :minimum, expected ] ]
          end

        private

          # Validate the minimum expected value length
          #
          # @param [Integer] length
          #   the value length
          #
          # @return [String, NilClass]
          #   the error message if invalid, nil if valid
          #
          # @api private
          def valid_length?(length)
            expected <= length
          end

        end # class Minimum

      end # module Length
    end # class Rule
  end # module Validation
end # module DataMapper

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
sbf-dm-validations-1.4.0 lib/data_mapper/validation/rule/length/minimum.rb
sbf-dm-validations-1.3.0 lib/data_mapper/validation/rule/length/minimum.rb
sbf-dm-validations-1.3.0.beta lib/data_mapper/validation/rule/length/minimum.rb