Sha256: c897c58bf100d4937e6b76147fed43cef8aa2e0b04752a4cac1d368d39edf4e5

Contents?: true

Size: 737 Bytes

Versions: 1

Compression:

Stored size: 737 Bytes

Contents

require 'active_model'

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

    #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

1 entries across 1 versions & 1 rubygems

Version Path
activevalidators-1.7.0 lib/activevalidators.rb