Class: Gold::UnsuspendOp

Inherits:
Object
  • Object
show all
Includes:
Outcomes
Defined in:
app/operations/gold/unsuspend_op.rb

Overview

Invoked when Helium unsuspends a shop.

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

Constructor Details

#initialize(billing) ⇒ UnsuspendOp

Returns a new instance of UnsuspendOp.



6
7
8
# File 'app/operations/gold/unsuspend_op.rb', line 6

def initialize(billing)
  @billing = billing
end

Instance Method Details

#callObject



10
11
12
13
14
15
16
17
18
19
20
# File 'app/operations/gold/unsuspend_op.rb', line 10

def call
  # Transition to appropriate location
  if @billing.transition_to(:affiliate)
    Success.new
  elsif @billing.transition_to(:check_charge)
    CheckChargeOp.new(@billing).call
  else
    @billing.transition_to!(:billing)
    Success.new
  end
end