Module: CiUY

Defined in:
lib/ci_uy.rb

Class Method Summary collapse

Class Method Details

.get_random_ciObject Also known as: random



21
22
23
24
25
# File 'lib/ci_uy.rb', line 21

def self.get_random_ci
  ci = rand(1_000_000..9_999_999).to_s
  ci += get_validation_digit(ci)
  ci
end

.get_validation_digit(ci) ⇒ Object Also known as: validation_digit



4
5
6
7
8
9
10
11
12
# File 'lib/ci_uy.rb', line 4

def self.get_validation_digit(ci)
  ci = transform(ci)
  ci = '0' + ci if ci.size == 6
  a = 0
  (0..6).each do |i|
    a += ('2987634'[i].to_i * ci[i].to_i)
  end
  (10 - (a % 10)).to_s[-1]
end

.transform(ci) ⇒ Object



27
28
29
30
31
# File 'lib/ci_uy.rb', line 27

def self.transform(ci)
  ci = ci.to_s if ci.is_a? Integer
  ci.gsub!(/\D/, '')
  ci
end

.validate_ci(ci) ⇒ Object Also known as: validate



14
15
16
17
18
19
# File 'lib/ci_uy.rb', line 14

def self.validate_ci(ci)
  ci = transform(ci)
  dig = ci[-1]
  ci = ci[0..-2]
  get_validation_digit(ci) == dig
end