Module: EncodeWithAlphabet
- Defined in:
- lib/encode_with_alphabet.rb,
lib/encode_with_alphabet/version.rb
Constant Summary collapse
- ALPHABET =
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
- VERSION =
"0.0.4"
Class Method Summary collapse
Class Method Details
.encode(number, alphabet = ALPHABET) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/encode_with_alphabet.rb', line 5 def self.encode(number, alphabet = ALPHABET) raise 'number must be an integer' unless number.kind_of? Integer raise 'alphabet must be non-empty' if alphabet.empty? return alphabet[0,1] if number == 0 base = '' sign = '' if number < 0 sign = '-' number = - number end while number != 0 number, i = number.divmod alphabet.size base = alphabet[i, 1] + base end return sign + base end |