module Alnum
Constants
- BASE
- SYMBOLS
- VERSION
Public Class Methods
cypher(number)
click to toggle source
# File lib/alnum.rb, line 7 def self.cypher(number) raise TypeError, "Only integers allowed" unless number.is_a? Integer numbers = [] until number < BASE do remainder = number % BASE numbers << SYMBOLS[remainder] number = (number - remainder) / BASE end numbers << SYMBOLS[number] numbers.reverse.join end
decipher(alphanumeric)
click to toggle source
# File lib/alnum.rb, line 22 def self.decipher(alphanumeric) number, count = 0, 0 alphanumeric.to_s.reverse.each_char() do |c| raise RangeError, "Code contains characters out of range: '#{c}'" if SYMBOLS.index(c).nil? number += SYMBOLS.index(c) * BASE**count count += 1 end number end