Module: Base32

Defined in:
lib/base32-alphabets/base.rb,
lib/base32-alphabets/kai.rb,
lib/base32-alphabets/base32.rb,
lib/base32-alphabets/version.rb,
lib/base32-alphabets/crockford.rb,
lib/base32-alphabets/electrologica.rb

Overview

Base32 (2^5 - 5-bits)

Defined Under Namespace

Classes: Base, Configuration, Crockford, Electrologica, Kai

Constant Summary collapse

BASE =

ALPHABET.length == 32 ## 32 chars/letters/digits

32
MAJOR =
1
MINOR =
0
PATCH =
0
VERSION =
[MAJOR,MINOR,PATCH].join('.')

Class Method Summary collapse

Class Method Details

.alphabet(klass: configuration.format) ⇒ Object

encoding alphabet - letter-to-number by index / array



57
# File 'lib/base32-alphabets/base32.rb', line 57

def self.alphabet( klass: configuration.format ) klass::ALPHABET; end


15
16
17
# File 'lib/base32-alphabets/version.rb', line 15

def self.banner
  "base32-alphabets/#{VERSION} on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]"
end

.configurationObject

lets you use

Base32.configure do |config|
   config.format     =  :kai
end


38
39
40
# File 'lib/base32-alphabets/base32.rb', line 38

def self.configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



42
43
44
# File 'lib/base32-alphabets/base32.rb', line 42

def self.configure
  yield( configuration )
end

.decode(str, klass: configuration.format) ⇒ Object



53
# File 'lib/base32-alphabets/base32.rb', line 53

def self.decode( str, klass: configuration.format ) klass.decode( str ); end

.encode(num, klass: configuration.format) ⇒ Object



52
# File 'lib/base32-alphabets/base32.rb', line 52

def self.encode( num, klass: configuration.format ) klass.encode( num ); end

.fmt(str, klass: configuration.format) ⇒ Object



54
# File 'lib/base32-alphabets/base32.rb', line 54

def self.fmt( str, klass: configuration.format ) klass.fmt( str );    end

.formatObject

add convenience helper for format



47
# File 'lib/base32-alphabets/base32.rb', line 47

def self.format() configuration.format; end

.format=(value) ⇒ Object



48
# File 'lib/base32-alphabets/base32.rb', line 48

def self.format=(value) self.configuration.format = value; end

.number(klass: configuration.format) ⇒ Object

decoding number-to-letter mapping / hash



59
# File 'lib/base32-alphabets/base32.rb', line 59

def self.number( klass: configuration.format ) klass::NUMBER; end

.rootObject



19
20
21
# File 'lib/base32-alphabets/version.rb', line 19

def self.root
  "#{File.expand_path( File.dirname(File.dirname(File.dirname(__FILE__))) )}"
end

.versionObject



11
12
13
# File 'lib/base32-alphabets/version.rb', line 11

def self.version
  VERSION
end