class Multibases::Base32
RFC 3548
Constants
- Default
Public Class Methods
decode(plain)
click to toggle source
# File lib/multibases/base32.rb, line 20 def self.decode(plain) Default.decode(plain) end
encode(plain)
click to toggle source
# File lib/multibases/base32.rb, line 16 def self.encode(plain) Default.encode(plain) end
new(alphabet, strict: false, encoding: nil)
click to toggle source
# File lib/multibases/base32.rb, line 82 def initialize(alphabet, strict: false, encoding: nil) @table = Table.from(alphabet, strict: strict, encoding: encoding) end
Public Instance Methods
decode(encoded)
click to toggle source
# File lib/multibases/base32.rb, line 95 def decode(encoded) return DecodedByteArray::EMPTY if encoded.empty? DecodedByteArray.new(chunks(encoded, 8).collect(&:decode).flatten) end
encode(plain)
click to toggle source
# File lib/multibases/base32.rb, line 86 def encode(plain) return EncodedByteArray::EMPTY if plain.empty? EncodedByteArray.new( chunks(plain, 5).collect(&:encode).flatten, encoding: @table.encoding ) end
inspect()
click to toggle source
# File lib/multibases/base32.rb, line 9 def inspect '[Multibases::Base32 ' \ "alphabet=\"#{@table.chars.join}\"" \ "#{@table.strict? ? ' strict' : ''}" \ ']' end
Private Instance Methods
chunks(whole, size)
click to toggle source
# File lib/multibases/base32.rb, line 103 def chunks(whole, size) whole = whole.bytes unless whole.is_a?(Array) whole.each_slice(size).map do |slice| ::Multibases::Base32::Chunk.new(slice, @table) end end