Sha256: 2bb8449e034f99bd3a89842bd1d6df5266db7f074a6b0e20a07d2047f54adf36
Contents?: true
Size: 1.04 KB
Versions: 2
Compression:
Stored size: 1.04 KB
Contents
require 'active_model' require 'phony' require 'countries' require 'active_validators/one_nine_shims/one_nine_string' module ActiveValidators def self.activevalidators %w(email url respond_to phone slug ip credit_card date password twitter postal_code tracking_number siren ssn sin nino barcode date) end # Require each validator independently or just pass :all # # call-seq: # ActiveValidators.activate(:phone, :email, :date) # ActiveValidators.activate(:all) def self.activate(*validators) syms = validators.include?(:all) ? activevalidators : validators.map(&:to_s) & activevalidators syms.each do |validator_name| require "active_model/validations/#{validator_name}_validator" end end # Defines methods like validates_credit_card def define_helper_method_for_validator(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
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
activevalidators-3.1.2 | lib/activevalidators.rb |
activevalidators-3.1.1 | lib/activevalidators.rb |