module FixedLengthEncoder

Constants

ALPHABET
DECODE_MAP
ENCODE_MAP
LENGTH
VERSION

Public Class Methods

decode(message) click to toggle source
# File lib/fixed_length_encoder.rb, line 13
def self.decode(message)
  encoder = FixedLengthEncoder::Encoder.new(ALPHABET, ENCODE_MAP, DECODE_MAP)
  encoder.decode(message)
end
encode(value, message_length = nil) click to toggle source
# File lib/fixed_length_encoder.rb, line 7
def self.encode(value, message_length = nil)
  message_length = LENGTH if message_length.nil?
  encoder = FixedLengthEncoder::Encoder.new(ALPHABET, ENCODE_MAP, DECODE_MAP)
  encoder.encode(value, message_length)
end
isValidAlphabet() click to toggle source
# File lib/fixed_length_encoder.rb, line 18
def self.isValidAlphabet
  valid = ALPHABET.split('').uniq.length == ALPHABET.length
end
isValidMap() click to toggle source
# File lib/fixed_length_encoder.rb, line 22
def self.isValidMap
  length = ALPHABET.length*ALPHABET.length
  valid = ENCODE_MAP.length == length && DECODE_MAP.length == length
  if (valid)
    (0..(length-1)).each do |i|
      valid = (DECODE_MAP[ENCODE_MAP[i]] == i) if (valid)
    end
  end
  valid == true
end