class JeraPayment::Services::Iugu::Invoices::Create

Public Instance Methods

call() click to toggle source
# File lib/jera_payment/services/iugu/invoices/create.rb, line 6
def call
  iugu_invoice = JeraPayment::Api::Iugu::Invoice.create(JeraPayment::Parsers::Iugu::InvoiceParser.invoice_creation(@resource),
                                                        @resource&.sub_account&.api_token)

  if iugu_invoice[:errors].present?
    add_error(iugu_invoice[:errors])
  else
    set_api_attributes(iugu_invoice)
  end

  @resource.errors.blank?
end

Private Instance Methods

set_api_attributes(attributes) click to toggle source
# File lib/jera_payment/services/iugu/invoices/create.rb, line 20
def set_api_attributes(attributes)
  @resource.api_id = attributes[:id]
  @resource.assign_attributes(attributes.slice(:total_cents, :secure_url, :items)
                                               .merge( { digitable_line: attributes[:bank_slip][:digitable_line],
                                                         barcode_data: attributes[:bank_slip][:barcode_data],
                                                         barcode: attributes[:bank_slip][:barcode] } ) )
end