Sha256: 6b04f2a3d3decf2f3d92e07b023d5496f1593824df6b2cd7315a9246e074e7d7

Contents?: true

Size: 519 Bytes

Versions: 3

Compression:

Stored size: 519 Bytes

Contents

class Jan < ::String
  module Parser
    module_function

    def check_digit(code)
      code[-1].to_i
    end

    def body(code)
      code[0..-2]
    end

    def even_digits(code)
      code.split('').reverse.map(&:to_i).select.with_index(1){|_d, index| index.even? }.reverse
    end

    def odd_digits(code)
      code.split('').reverse.map(&:to_i).select.with_index(1){|_d, index| index.odd? }.reverse[0..-2]
    end

    def instore_code?(code)
      InstoreCodePrefixes.include?(code[0..1])
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
jan-0.1.0 lib/jan/parser.rb
jan-0.0.5 lib/jan/parser.rb
jan-0.0.4 lib/jan/parser.rb