Sha256: 7358e7f6a32d7582e1c06540cb9204718009e764a69c3e99e5d6ca0a4e21bc60
Contents?: true
Size: 1021 Bytes
Versions: 1
Compression:
Stored size: 1021 Bytes
Contents
# frozen_string_literal: true require_relative 'models/invoice_data' require_relative 'services/invoice_xml_builder' require_relative 'services/invoice_service' require_relative 'services/response_handler' module Cetustek class CreateInvoice def initialize(invoice_data) @invoice_data = invoice_data end def execute xml = Services::InvoiceXmlBuilder.new(@invoice_data).build response = Services::InvoiceService.new(xml, @invoice_data.order_id).create result = Services::ResponseHandler.new(response, @invoice_data, xml).process if defined?(Rails) && result[:number] && result[:random_number] update_invoice_info(result) end result end private def update_invoice_info(result) return unless @invoice_data.respond_to?(:invoice_info) @invoice_data.invoice_info.update( number: result[:number], random_number: result[:random_number], created_at: Time.zone.today ) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cetustek-0.2.0 | lib/cetustek/create_invoice.rb |