class Multibases::Base32::Table

Public Class Methods

from(alphabet, **opts) click to toggle source
# File lib/multibases/base32.rb, line 25
def self.from(alphabet, **opts)
  alphabet = alphabet.bytes if alphabet.respond_to?(:bytes)
  alphabet.map!(&:ord)

  new(alphabet, **opts)
end
new(ords, **opts) click to toggle source
Calls superclass method
# File lib/multibases/base32.rb, line 32
def initialize(ords, **opts)
  ords = ords.uniq

  if ords.length < 32 || ords.length > 33
    raise ArgumentError,
          'Expected alphabet to contain 32 characters or 32 + 1 ' \
          "padding character. Actual: #{ords.length} characters"
  end

  padder = nil
  *ords, padder = ords if ords.length == 33

  super(ords, padder: padder, **opts)
end