class Ipfs::Base58
Constants
- ALPHABET
- BASE
Public Class Methods
decode(number)
click to toggle source
# File lib/base.rb, line 6 def self.decode(number) valid?(number) \ ? to_base10(number) : 0 end
encode(base10_number)
click to toggle source
# File lib/base.rb, line 26 def self.encode(base10_number) base10_number.is_a?(Integer) \ ? to_base58(base10_number) \ : '' end
to_base10(base58_number)
click to toggle source
# File lib/base.rb, line 12 def self.to_base10(base58_number) base58_number .reverse .split(//) .each_with_index .reduce(0) do |base10_number, (base58_numeral, index)| base10_number + ALPHABET.index(base58_numeral) * (BASE**index) end end
to_base58(base10_number)
click to toggle source
# File lib/base.rb, line 32 def self.to_base58(base10_number) base58_number = '' begin base58_number << ALPHABET[base10_number % BASE] base10_number /= BASE end while base10_number > 0 base58_number.reverse end
valid?(number)
click to toggle source
# File lib/base.rb, line 22 def self.valid?(number) number.match?(/\A[#{ALPHABET}]+\z/) end