class JeraPayment::Services::Iugu::Invoices::UpdateStatus

Public Class Methods

new(resource, method) click to toggle source
# File lib/jera_payment/services/iugu/invoices/update_status.rb, line 6
def initialize(resource, method)
  @resource = resource
  @method = method
end

Public Instance Methods

call() click to toggle source
# File lib/jera_payment/services/iugu/invoices/update_status.rb, line 11
def call
  begin
    ApplicationRecord.transaction do
      status_update = eval("JeraPayment::Api::Iugu::Invoice.#{@method.to_s}(@resource.api_id,
                                                                            @resource&.sub_account&.api_token)")
      if status_update[:errors].present?
        raise(StandardError, status_update[:errors])
      else
        @resource.update_columns(status: status_update[:status])
      end
    end
  rescue Exception => error
    add_error(error.message)
  end
  @resource
end