Sha256: c42a5b1b573d7f14b67449d3609c2935d24dd1f335dc33328094abd32e90b873

Contents?: true

Size: 530 Bytes

Versions: 1

Compression:

Stored size: 530 Bytes

Contents

require "taiwanese_id_validator/twid_validator"

class TaiwaneseIdValidator < ActiveModel::EachValidator
  def validate_each(record, attribute, value)
    return if skip_check?

    unless TwidValidator.valid?(value, case_sensitive?)
      record.errors[attribute] << (options[:message] || "is not an valid ID")
    end
  end

  private

  def skip_check?
    options[:allow_nil].present? || options[:allow_blank].present?
  end

  def case_sensitive?
    options[:case_sensitive].nil? ? true : options[:case_sensitive]
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
taiwanese_id_validator-0.0.1 lib/taiwanese_id_validator.rb