Module: Base62
- Defined in:
- lib/base62.rb,
lib/base62/version.rb
Constant Summary collapse
- PRIMITIVES =
(0..9).collect { |i| i.to_s } + ('A'..'Z').to_a + ('a'..'z').to_a
- VERSION =
"1.0.0"
Class Method Summary collapse
Class Method Details
.decode(str) ⇒ Object
9 10 11 12 13 14 15 16 |
# File 'lib/base62.rb', line 9 def decode(str) out = 0 str.split(//).reverse.each_with_index do |char, index| place = PRIMITIVES.size ** index out += PRIMITIVES.index(char) * place end out end |
.encode(int) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/base62.rb', line 18 def encode(int) return "0" if int == 0 rem = int result = '' while rem != 0 result = PRIMITIVES[rem % PRIMITIVES.size].to_s + result rem /= PRIMITIVES.size end result end |