Sha256: 5df191f5bbcd1ef87df90f52587e499f8553382cbf7831c811b276169df6150c
Contents?: true
Size: 726 Bytes
Versions: 2
Compression:
Stored size: 726 Bytes
Contents
require 'vesr/validation_digit_calculator' module VESR class ReferenceBuilder def self.call(customer_id, invoice_id, esr_id) new(customer_id, invoice_id, esr_id).call end attr_reader :customer_id, :invoice_id, :esr_id def initialize(customer_id, invoice_id, esr_id) @customer_id = customer_id @invoice_id = invoice_id @esr_id = esr_id end def call "#{esr_id}#{formatted_customer_id}#{formatted_invoice_id}" end private def formatted_customer_id format "%0#{customer_id_length}i", customer_id end def customer_id_length 19 - esr_id.to_s.length end def formatted_invoice_id format '%07i', invoice_id end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
vesr-1.1.1 | lib/vesr/reference_builder.rb |
vesr-1.1.0 | lib/vesr/reference_builder.rb |