Sha256: 41a53dfa9bbd938ad5b96761fb3c3f2266e894ba280e8d130a8689e73422bc3e

Contents?: true

Size: 1.2 KB

Versions: 1

Compression:

Stored size: 1.2 KB

Contents

# -*- coding: utf-8 -*-

module DataMapper
  module Validate
    module Fixtures
      class BillOfLading
        #
        # Behaviors
        #

        include DataMapper::Resource

        #
        # Properties
        #

        property :id,       Serial

        property :doc_no,   String, :auto_validation => false
        property :email,    String, :auto_validation => false
        property :username, String, :auto_validation => false
        property :url,      String, :auto_validation => false
        property :code,     String, :auto_validation => false, :default => "123456"

        #
        # Validations
        #

        # this is a trivial example
        validates_format :doc_no, :with => lambda { |code|
          code =~ /\AA\d{4}\z/ || code =~ /\A[B-Z]\d{6}X12\z/
        }

        validates_format :email, :as => :email_address
        validates_format :url, :as => :url, :allow_nil => false, :allow_blank => false

        validates_format :username, :with => /[a-z]/, :message => 'Username must have at least one letter', :allow_nil => true
        validates_format :code,     :with => /\d{5,6}/, :message => 'Code format is invalid'
      end
    end # Fixtures
  end # Validate
end # DataMapper

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dm-validations-0.10.2 spec/fixtures/bill_of_landing.rb