class InvoiceNumber::Builder
Attributes
placeholder[RW]
prefix[RW]
Public Class Methods
new(options = {})
click to toggle source
# File lib/invoice_number/builder.rb, line 6 def initialize(options = {}) @prefix = options[:prefix] || 'INVOICE' @placeholder = options[:placeholder] || '0000000' end
Public Instance Methods
create(last_number = nil)
click to toggle source
# File lib/invoice_number/builder.rb, line 11 def create(last_number = nil) if last_number.present? new_number = inc_invoice_number(last_number) if new_number.present? return "#{prefix}-#{placeholder[(new_number.to_s.size)..(placeholder.size)]}#{new_number}" end else return "#{prefix}-0000001" end end
Private Instance Methods
inc_invoice_number(last_number)
click to toggle source
# File lib/invoice_number/builder.rb, line 24 def inc_invoice_number(last_number) last_number.split(/#{prefix}-/).at(1).to_i + 1 end