Module: CiUY
- Defined in:
- lib/ci_uy.rb
Class Method Summary collapse
- .get_random_ci ⇒ Object (also: random)
- .get_validation_digit(ci) ⇒ Object (also: validation_digit)
- .transform(ci) ⇒ Object
- .validate_ci(ci) ⇒ Object (also: validate)
Class Method Details
.get_random_ci ⇒ Object 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 |