Module: Core

Defined in:
lib/nuban/core.rb

Class Method Summary collapse

Class Method Details

.decode(bankcode, serial) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/nuban/core.rb', line 2

def self.decode(bankcode, serial)
  bankCode = bankcode
  bankCodeSplit = bankCode.to_s.split('').map(&:to_i)
  serialNuber = serial

  serialNuberSplit = serialNuber.to_s.split('').map(&:to_i)
  calculateNuban = (bankCodeSplit[0]*3+bankCodeSplit[2]*7+bankCodeSplit[2]*3+serialNuberSplit[0]*3+serialNuberSplit[1]*7+serialNuberSplit[2]*3+serialNuberSplit[3]*3+serialNuberSplit[4]*7+serialNuberSplit[5]*3+serialNuberSplit[6]*3+serialNuberSplit[7]*7+serialNuberSplit[8]*3)
  standardNumber = 10

  makeModulos = calculateNuban %= standardNumber

  checkDigit = makeModulos - standardNumber
  completedNuban = "#{serialNuber}#{checkDigit}"

  # spinner loader
  loading = 0.step(100, 5) do |i|
    printf("\rGenerating: [%-20s]", "=" * (i/5))
    sleep(0.10)
  end
  puts loading
  puts "Voila! here's your NUBAN"
  return completedNuban
end