Class: Returnly::Services::CreateReimbursement
- Inherits:
-
Object
- Object
- Returnly::Services::CreateReimbursement
- Defined in:
- lib/returnly/services/create_reimbursement.rb
Instance Attribute Summary collapse
-
#reimbursement ⇒ Object
Returns the value of attribute reimbursement.
Instance Method Summary collapse
-
#initialize(reimbursement) ⇒ CreateReimbursement
constructor
A new instance of CreateReimbursement.
- #perform! ⇒ Object
Constructor Details
#initialize(reimbursement) ⇒ CreateReimbursement
Returns a new instance of CreateReimbursement.
8 9 10 |
# File 'lib/returnly/services/create_reimbursement.rb', line 8 def initialize(reimbursement) @reimbursement = reimbursement end |
Instance Attribute Details
#reimbursement ⇒ Object
Returns the value of attribute reimbursement.
4 5 6 |
# File 'lib/returnly/services/create_reimbursement.rb', line 4 def reimbursement @reimbursement end |
Instance Method Details
#perform! ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/returnly/services/create_reimbursement.rb', line 12 def perform! reimbursement.save! reimbursement.update!(total: calculated_total) performer.perform(reimbursement) if unpaid_amount_within_tolerance? reimbursement.reimbursed! Spree::Reimbursement.reimbursement_success_hooks.each { |h| h.call reimbursement } send_reimbursement_email else reimbursement.errored! Spree::Reimbursement.reimbursement_failure_hooks.each { |h| h.call reimbursement } raise incomplete_error_class, Spree.t('validation.unpaid_amount_not_zero', amount: unpaid_amount) end end |