Sha256: bc065330dcb094857634e3b8448c5262027af6cc01ac714b2a455a93a85ea12e

Contents?: true

Size: 655 Bytes

Versions: 5

Compression:

Stored size: 655 Bytes

Contents

require File.dirname(__FILE__) + '/formats/email.rb'

module Validatable
  
  class ValidatesFormatOf < ValidationBase
    FORMATS = {}
    
    include Validatable::Helpers::Formats::Email

    def initialize(klass, attribute, options={})
      super
      if with.is_a? Symbol
        self.with = if FORMATS[with].is_a? Array
          @message = (FORMATS[with][1].respond_to?(:call) ? FORMATS[with][1].call(attribute) : FORMATS[with][1]) unless @message
          FORMATS[with][0]
        else
          FORMATS[with]
        end
      end
    end
    
    def message(instance)
      super || '%s is invalid'.t(humanized_attribute)
    end

  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
datamapper-0.2.5 lib/data_mapper/validatable_extensions/validations/validates_format_of.rb
datamapper-0.2.4 lib/data_mapper/validatable_extensions/validations/validates_format_of.rb
datamapper-0.3.0 lib/data_mapper/validatable_extensions/validations/validates_format_of.rb
datamapper-0.3.1 lib/data_mapper/validatable_extensions/validations/validates_format_of.rb
datamapper-0.3.2 lib/data_mapper/validatable_extensions/validations/validates_format_of.rb