class Base32::Variant

Public Class Methods

[](variant_name) click to toggle source
# File lib/base32/variant.rb, line 24
def self.[](variant_name)
  @variants ||= {}

  @variants[variant_name] ||= (
    require "base32/variant/#{variant_name}"
    self.constants.map{ |k| self.const_get(k) }.find{ |k| k.shortname == variant_name }.new
  )
end
shortname() click to toggle source
# File lib/base32/variant.rb, line 20
def self.shortname
  self.name.split('::').last.downcase.intern
end

Public Instance Methods

alphabet() click to toggle source
# File lib/base32/variant.rb, line 3
def alphabet
  Base32::ALPHABET
end
clean(asc_src) click to toggle source
# File lib/base32/variant.rb, line 15
def clean(asc_src)
  asc_src.upcase.tr("^#{self.alphabet}", '')
end
unwrap(asc_src) click to toggle source
# File lib/base32/variant.rb, line 11
def unwrap(asc_src)
  asc_src.tr(self.alphabet, Base32::ALPHABET)
end
wrap(asc_src) click to toggle source
# File lib/base32/variant.rb, line 7
def wrap(asc_src)
  asc_src.tr(Base32::ALPHABET, self.alphabet)
end