Sha256: bdb81f5036d2946bde22e6ef4fb8e078ae560cda84a61096ba51fbf5ec6fa9de

Contents?: true

Size: 819 Bytes

Versions: 3

Compression:

Stored size: 819 Bytes

Contents

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

require 'data_mapper/validation/rule'

module DataMapper
  module Validation
    class Rule

      module Within

        # TODO: DRY this up (also implemented in Rule)
        def self.rules_for(attribute_name, options)
          Array(new(attribute_name, options))
        end

        # TODO: move options normalization into the validator macros
        def self.new(attribute_name, options)
          if options.fetch(:set).is_a?(::Range)
            Within::Range.new(attribute_name, options)
          else
            Within::Set.new(attribute_name, options)
          end
        end

      end # module Within

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

require 'data_mapper/validation/rule/within/range'
require 'data_mapper/validation/rule/within/set'

Version data entries

3 entries across 3 versions & 1 rubygems

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