class ChainedValidation::Rules::Rg
Public Class Methods
new(params)
click to toggle source
# File lib/chained_validation/rules/rg.rb, line 4 def initialize(params) @object = params.fetch(:object) end
Public Instance Methods
perform()
click to toggle source
# File lib/chained_validation/rules/rg.rb, line 8 def perform ChainedValidation::Validation.new(rg: { object: @object, result: is_rg_valid? }) end
Private Instance Methods
is_rg_valid?()
click to toggle source
# File lib/chained_validation/rules/rg.rb, line 14 def is_rg_valid? rg = @object.split("") base = 2 total = 0 rg.first(8).each do |n| total += n.to_i * base base+=1 end vd = 11 - total % 11 return (rg[rg.length - 1].to_i == vd) end