class Faker::Barcode

def ean(length = 8)

Returns:
  • (String) -
def ean(length = 8)
  generate_barcode("barcode.ean_#{Integer(length)}")
end

def ean_with_composite_symbology(length = 8)

Returns:
  • (String) -
def ean_with_composite_symbology(length = 8)
  "#{ean(length)}|#{bothify(parse('barcode.composite_symbol'))}"
end

def generate_barcode(key)

def generate_barcode(key)
  barcode = parse(key)
  check_digit = generate_check_digit(*sum_even_odd(barcode))
  "#{barcode}#{check_digit}"
end

def generate_check_digit(odd_sum, even_sum)

Returns:
  • (Integer) -
def generate_check_digit(odd_sum, even_sum)
  (10 - (odd_sum * 3 + even_sum) % 10) % 10
end

def isbn

Returns:
  • (String) -
def isbn
  generate_barcode('barcode.isbn')
end

def ismn

Returns:
  • (String) -
def ismn
  generate_barcode('barcode.ismn')
end

def issn

Returns:
  • (String) -
def issn
  generate_barcode('barcode.issn')
end

def sum_even_odd(fake_num)

Returns:
  • (Array) -
def sum_even_odd(fake_num)
  number = fake_num.to_i
  sum_even, sum_odd = 0, 0, index = 1
  while number != 0
    index.even? ? sum_even += number % 10 : sum_odd += number % 10
    number /= 10
    index += 1
  end
  [sum_odd, sum_even]
end

def upc_a

Returns:
  • (String) -
def upc_a
  generate_barcode('barcode.upc_a')
end

def upc_a_with_composite_symbology

Returns:
  • (String) -
def upc_a_with_composite_symbology
  "#{upc_a}|#{bothify(parse('barcode.composite_symbol'))}"
end

def upc_e

Returns:
  • (String) -
def upc_e
  generate_barcode('barcode.upc_e')
end

def upc_e_with_composite_symbology

Returns:
  • (String) -
def upc_e_with_composite_symbology
  "#{upc_e}|#{bothify(parse('barcode.composite_symbol'))}"
end