module Comee module Core class Util # This method generates document numbers with a certain prefix # and a serial suffix def self.generate_number(clz, field, prefix, sep = nil, start = 1) # clz_hash = { # "PurchaseRequisition" => "PR", # "PurchaseOrder" => "PO", # "Invoice" => "IN", # "SalesOrder" => "SO", # "DeliveryNote" => "DN" # } clazz_name = "Comee::Core::#{clz}" clazz = clazz_name.constantize last = clazz.last return "#{prefix}#{sep}#{start}" unless last index = prefix.length val = last.send(field) pref = val.slice(0, index) suff = sep ? val.slice(index + 1, val.length).to_i : val.slice(index, val.length).to_i return "#{prefix}#{sep}#{start}" unless prefix == pref "#{prefix}#{sep}#{suff + 1}" end end end end