Module: Olyx::Guardrails::Pii::SinValidator
- Defined in:
- lib/olyx/guardrails/pii/sin_validator.rb
Overview
Validates Canadian Social Insurance Numbers with the same Luhn checksum as card numbers, but at SIN's fixed 9-digit length — LuhnValidator enforces its own 13-digit floor for card use, so this applies SIN's length rule against LuhnChecksum directly.
Constant Summary collapse
- LENGTH =
9
Class Method Summary collapse
Class Method Details
.call(sin) ⇒ Object
17 18 19 20 |
# File 'lib/olyx/guardrails/pii/sin_validator.rb', line 17 def call(sin) digits = LuhnChecksum.digits(sin) digits.length == LENGTH && LuhnChecksum.valid?(digits) end |