Sha256: a62c40a52700c6af82914b75447ac040b98cc3bbfbf9e9922f29a859985f2b23

Contents?: true

Size: 803 Bytes

Versions: 2

Compression:

Stored size: 803 Bytes

Contents

require 'active_model'
require 'phony'
require 'countries'

module ActiveModel
  module Validations
    def self.activevalidators
      %w(email url respond_to phone slug ip credit_card date password twitter postal_code tracking_number)
    end

    activevalidators.each do |validator_name|
      require "active_model/validations/#{validator_name}_validator"
    end

    require 'date_validator'

    #Defines methods like validates_credit_card
    module HelperMethods
      ActiveModel::Validations.activevalidators.each do |validator|
        define_method('validates_'+validator) do |*fields|
          options ||= (fields.delete fields.find { |f| f.kind_of? Hash}) || true
          args = fields.push({ validator => options })
          validates(*args)
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
activevalidators-2.0.1 lib/activevalidators.rb
activevalidators-2.0.0 lib/activevalidators.rb