Module: DigitChecksum::Helpers

Included in:
BaseDocument
Defined in:
lib/digit_checksum/helpers.rb

Instance Method Summary collapse

Instance Method Details

#generate(pretty = true) ⇒ Object



3
4
5
6
7
8
# File 'lib/digit_checksum/helpers.rb', line 3

def generate(pretty = true)
  number = new(generate_root_numbers)
  number.append_verify_digits!

  pretty ? number.pretty : number.to_s
end

#generate_root_numbersObject



10
11
12
# File 'lib/digit_checksum/helpers.rb', line 10

def generate_root_numbers
  root_digits_count.times.map { get_generator_numbers.sample }
end

#root_digits_countObject



14
15
16
17
18
19
20
21
# File 'lib/digit_checksum/helpers.rb', line 14

def root_digits_count
  begin
    get_root_digits_count
  rescue NameError => e
    first_verify_mask = get_verify_digits_weights.values[0]
    first_verify_mask.size
  end
end

#root_number(number, mask = nil) ⇒ Object



23
24
25
26
27
# File 'lib/digit_checksum/helpers.rb', line 23

def root_number(number, mask = nil)
  mask ||= get_verify_digits_weights.values[0]

  new(number).normalize.slice(0, mask.size)
end

#root_number_to_s(number, mask = nil) ⇒ Object



29
30
31
# File 'lib/digit_checksum/helpers.rb', line 29

def root_number_to_s(number, mask = nil)
  root_number(number, mask).join
end