Class: PolishValidators::NipValidator
- Inherits:
-
Object
- Object
- PolishValidators::NipValidator
- Defined in:
- lib/polish_validators/nip_validator.rb
Instance Method Summary collapse
-
#initialize(nip) ⇒ NipValidator
constructor
A new instance of NipValidator.
- #valid? ⇒ Boolean
Constructor Details
#initialize(nip) ⇒ NipValidator
Returns a new instance of NipValidator.
3 4 5 |
# File 'lib/polish_validators/nip_validator.rb', line 3 def initialize(nip) @nip = nip.to_s end |
Instance Method Details
#valid? ⇒ Boolean
7 8 9 10 11 12 13 14 15 |
# File 'lib/polish_validators/nip_validator.rb', line 7 def valid? return unless @nip =~ /\A\d{10}\Z/ weights = [6, 5, 7, 2, 3, 4, 5, 6, 7] nip = @nip.split(//).collect(&:to_i) checksum = weights.reduce(0) { |a, e| a + nip.shift * e } checksum % 11 == nip.shift end |