Module: ActiveValidators

Defined in:
lib/activevalidators.rb,
lib/active_validators/one_nine_shims/one_nine_string.rb

Defined Under Namespace

Modules: OneNineShims

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.activate(*validators) ⇒ Object

Require each validator independently or just pass :all

call-seq:

ActiveValidators.activate(:phone, :email, :date)
ActiveValidators.activate(:all)


14
15
16
17
18
19
20
# File 'lib/activevalidators.rb', line 14

def self.activate(*validators)
  syms = validators.include?(:all) ? activevalidators : validators.map(&:to_s) & activevalidators

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

.activevalidatorsObject



5
6
7
# File 'lib/activevalidators.rb', line 5

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 hex_color regexp)
end

Instance Method Details

#define_helper_method_for_validator(validator) ⇒ Object

Defines methods like validates_credit_card



23
24
25
26
27
28
29
# File 'lib/activevalidators.rb', line 23

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