Sha256: e43fcdcec59ed179d184a1ec7381189fc91429012133bcf990485d8bb77c956b

Contents?: true

Size: 485 Bytes

Versions: 2

Compression:

Stored size: 485 Bytes

Contents

require 'phony'
require 'countries'
module ActiveModel
  module Validations
    class PhoneValidator < EachValidator
      def validate_each(record, attribute, value)
        country_code = Country.new(options[:country].to_s.upcase).country_code unless options[:country].blank?
        record.errors.add(attribute, options[:message]) if value.blank? || ! (options[:country].blank? ? Phony.plausible?(value) : Phony.plausible?(value, :cc => country_code) )
      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
activevalidators-3.3.0 lib/active_validators/active_model/validations/phone_validator.rb
activevalidators-3.2.0 lib/active_validators/active_model/validations/phone_validator.rb