Class: Base32::Variant
- Inherits:
-
Object
show all
- Defined in:
- lib/base32/variant.rb,
lib/base32/variant/plain.rb,
lib/base32/variant/zbase32.rb,
lib/base32/variant/crockford.rb
Defined Under Namespace
Classes: Crockford, Plain, ZBase32
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.[](variant_name) ⇒ Object
24
25
26
27
28
29
30
31
|
# 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 ⇒ Object
20
21
22
|
# File 'lib/base32/variant.rb', line 20
def self.shortname
self.name.split('::').last.downcase.intern
end
|
Instance Method Details
#alphabet ⇒ Object
3
4
5
|
# File 'lib/base32/variant.rb', line 3
def alphabet
Base32::ALPHABET
end
|
#clean(asc_src) ⇒ Object
15
16
17
|
# File 'lib/base32/variant.rb', line 15
def clean(asc_src)
asc_src.upcase.tr("^#{self.alphabet}", '')
end
|
#unwrap(asc_src) ⇒ Object
11
12
13
|
# File 'lib/base32/variant.rb', line 11
def unwrap(asc_src)
asc_src.tr(self.alphabet, Base32::ALPHABET)
end
|
#wrap(asc_src) ⇒ Object
7
8
9
|
# File 'lib/base32/variant.rb', line 7
def wrap(asc_src)
asc_src.tr(Base32::ALPHABET, self.alphabet)
end
|