Class: EasyPin::ChecksumGenerator
- Inherits:
-
Object
- Object
- EasyPin::ChecksumGenerator
- Defined in:
- lib/easy_pin.rb
Instance Method Summary collapse
- #checksum(parts) ⇒ Object
-
#initialize(base) ⇒ ChecksumGenerator
constructor
A new instance of ChecksumGenerator.
- #unchecksum(parts) ⇒ Object
- #validate(parts) ⇒ Object
Constructor Details
#initialize(base) ⇒ ChecksumGenerator
Returns a new instance of ChecksumGenerator.
90 91 92 |
# File 'lib/easy_pin.rb', line 90 def initialize(base) @base = base end |
Instance Method Details
#checksum(parts) ⇒ Object
94 95 96 |
# File 'lib/easy_pin.rb', line 94 def checksum(parts) parts + [sum(parts)] end |
#unchecksum(parts) ⇒ Object
98 99 100 101 |
# File 'lib/easy_pin.rb', line 98 def unchecksum(parts) validate(parts) parts[0..-2] end |
#validate(parts) ⇒ Object
103 104 105 106 107 |
# File 'lib/easy_pin.rb', line 103 def validate(parts) checksum = sum(parts[0..-2]) expected = parts[-1] raise InvalidChecksum, "invalid checksum #{checksum}, expected #{expected}" if checksum != expected end |