class JeraPayment::Services::Iugu::Subscriptions::ChangePlan
Public Class Methods
new(resource, plan_identifier, simulation = nil)
click to toggle source
# File lib/jera_payment/services/iugu/subscriptions/change_plan.rb, line 6 def initialize(resource, plan_identifier, simulation = nil) @resource = resource @plan_identifier = plan_identifier @simulation = simulation end
Public Instance Methods
call()
click to toggle source
# File lib/jera_payment/services/iugu/subscriptions/change_plan.rb, line 12 def call begin ApplicationRecord.transaction do iugu_change_subscription_plan = eval("JeraPayment::Api::Iugu::Subscription.change_plan#{@simulation.to_s}(@resource.api_id, @plan_identifier, @resource&.customer&.sub_account&.api_token)") raise(StandardError, iugu_change_subscription_plan[:errors]) if iugu_change_subscription_plan[:errors].present? if @simulation.present? @resource = iugu_change_subscription_plan else set_api_attributes(iugu_change_subscription_plan) end end rescue Exception => error add_error(error.message) end @resource end
Private Instance Methods
set_api_attributes(attributes)
click to toggle source
# File lib/jera_payment/services/iugu/subscriptions/change_plan.rb, line 34 def set_api_attributes(attributes) @resource.update_columns(plan_identifier: attributes[:plan_identifier]) end