module Verhoeff

Public Class Methods

plus_one(message) click to toggle source

@param [String] message @return [Array]

# File lib/verhoeff.rb, line 37
def self.plus_one(message)
  msg_array = message.split('')
  msg_result = []
  msg_array.each do |actual_msg|
    msg_result.push(actual_msg.to_i + 1)
  end
  msg_result
end
to_verhoeff(word) click to toggle source

@param [String] word @return [Integer]

# File lib/verhoeff.rb, line 24
def self.to_verhoeff(word)
  check = 0
  reverse_number = word.reverse
  i = 0
  while i <= (reverse_number.length - 1) do
    check = @mult_matrix[check][@permutations_matrix[((i + 1) % 8)][reverse_number[i].to_i]]
    i += 1
  end
  @numbers[check]
end