Module: Tokenizr
- Defined in:
- lib/tokenizr.rb,
lib/tokenizr/version.rb
Constant Summary collapse
- INDEX =
'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'- LENGTH =
15- VERSION =
"1.0.0"
Class Method Summary collapse
Class Method Details
.decode(string) ⇒ Object
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/tokenizr.rb', line 17 def self.decode(string) str = string.reverse ret = 0 (0...str.length).each do |i| ret += INDEX.index(str[i]) * (Tokenizr.bcpow(INDEX.length, (str.length - 1) - i)) end ret.to_s[1..-1].to_i end |
.encode(number) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/tokenizr.rb', line 5 def self.encode(number) number = lengthen(number).to_i ret = '' start = (Math.log(number) / Math.log(INDEX.length).to_f).floor start.downto(0).each do |i| ret += INDEX[((number / Tokenizr.bcpow(INDEX.length, i).to_f).floor % INDEX.length)] end ret.reverse end |