Sha256: 58941052849b5e9fce0f31df7eb48fc1f78bf6573f5452e127493c62761ca82e
Contents?: true
Size: 970 Bytes
Versions: 3
Compression:
Stored size: 970 Bytes
Contents
require 'active_support' require 'active_model' require 'active_record' require 'active_support/all' require 'active_model/validations' module ActiveModel module Validations extend ActiveSupport::Autoload def self.activevalidators ['Email','Url','RespondTo','Phone','Slug','Ip','CreditCard','Date','Password','Twitter','PostalCode', 'TrackingNumber'] end #Eager autoload the library's validators into AR::Validations activevalidators.each do |validator_name| autoload validator_name+'Validator' end #Defines methods like validates_credit_card module HelperMethods ActiveModel::Validations.activevalidators.map(&:underscore).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
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
activevalidators-1.6.0 | lib/activevalidators.rb |
activevalidators-1.5.1 | lib/activevalidators.rb |
activevalidators-1.5.0 | lib/activevalidators.rb |