Class: SnilsValidator

Inherits:
ActiveModel::EachValidator
  • Object
show all
Defined in:
lib/snils/rails.rb

Overview

SNILS validation for Active Model (Active Record and Ruby on Rails)

Usage:

  1. Modify your gemfile to require ‘snils/rails’

    gem 'snils', require: 'snils/rails'
    
  2. Add :snils validation to SNILS attributes

    validates :snils, presence: true, uniqueness: true, snils: true

Be aware of fact, that this validation doesn’t require the value presence, use presence: true to require SNILS to be present.

Instance Method Summary collapse

Instance Method Details

#validate_each(record, attribute, value) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/snils/rails.rb', line 19

def validate_each(record, attribute, value)
  return  if value.blank?
  snils = Snils.new(value)
  if snils.errors.any? && options[:message]
    record.errors.add(attribute, options[:message])
  else
    snils.errors.each do |error|
      record.errors.add(attribute, *error)
    end
  end
end