class Tinkerforge::Base58
internal
Constants
- ALPHABET
Public Class Methods
decode(encoded)
click to toggle source
# File lib/tinkerforge/ip_connection.rb, line 29 def self.decode(encoded) value = 0 base = 1 encoded.reverse.split(//).each do |c| index = ALPHABET.index c if index == nil raise ArgumentError, "UID '#{encoded}' contains invalid character" end value += index * base base *= 58 end value end
encode(value)
click to toggle source
# File lib/tinkerforge/ip_connection.rb, line 19 def self.encode(value) encoded = '' while value >= 58 div, mod = value.divmod 58 encoded = ALPHABET[mod, 1] + encoded value = div end ALPHABET[value, 1] + encoded end