Class: Gold::SuspendOp
- Inherits:
-
Object
- Object
- Gold::SuspendOp
- Includes:
- Outcomes
- Defined in:
- app/operations/gold/suspend_op.rb
Overview
Invoked when Helium suspends a merchant for violating ToS.
Constant Summary
Constants included from Outcomes
Outcomes::AcceptedCharge, Outcomes::AcceptedTerms, Outcomes::ActiveCharge, Outcomes::CannotApplyDiscount, Outcomes::CannotIssueCredit, Outcomes::CannotProcessCharge, Outcomes::CannotSelectTier, Outcomes::ChargeNeeded, Outcomes::ChargeNotNeeded, Outcomes::DeclinedCharge, Outcomes::DeclinedTerms, Outcomes::ExpiredCharge, Outcomes::FrozenCharge, Outcomes::MismatchCharge, Outcomes::MissingCharge, Outcomes::PendingCharge, Outcomes::SameDiscount, Outcomes::SameTier, Outcomes::TierApplied, Outcomes::TierNotFound, Outcomes::Uninstalled
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(billing) ⇒ SuspendOp
constructor
A new instance of SuspendOp.
Constructor Details
#initialize(billing) ⇒ SuspendOp
Returns a new instance of SuspendOp.
6 7 8 |
# File 'app/operations/gold/suspend_op.rb', line 6 def initialize(billing) @billing = billing end |
Instance Method Details
#call ⇒ Object
10 11 12 13 14 15 16 17 18 19 |
# File 'app/operations/gold/suspend_op.rb', line 10 def call @billing.transition_to_or_stay_in!(:marked_as_suspended) # Communicate suspension to the merchant. BillingMailer.suspension(@billing).deliver_now @billing.transition_to!(:suspended) Success.new end |