Sha256: 85f94533d53f649a708aaea5cd2a1933c810f1ca00bcbb8ddea7bb737113e691

Contents?: true

Size: 1.84 KB

Versions: 1

Compression:

Stored size: 1.84 KB

Contents

module Fixtures
  class Campaign
    statefully do
      start :incomplete

      event :draft do
        moves [:incomplete, :draft, :rejected] => :draft
      end

      event :start do
        moves [:incomplete, :pending_authorization, :draft, :rejected] => :pending_authorization
      end

      event :authorize do
        moves :pending_authorization => :pending_approval
        moves :pending_reauthorization => :approved
      end

      event :approve do
        moves :pending_approval => :approved
      end

      event :accept do
        moves :rejected => :pending_authorization
      end

      event :traffic do
        moves :approved => :trafficked
      end

      event :finish do
        moves :trafficked => :finished
      end

      event :restart do
        moves :finished => :approved
      end

      event :change_spend do
        moves :pending_approval => :pending_authorization
        moves [:approved, :trafficked] => :pending_reauthorization

        stays :draft, :incomplete, :rejected
      end

      event :update_theme do
        stays :draft, :incomplete, :pending_approval, 
          :approved, :trafficked, :rejected      
      end

      event :delete_theme do
        moves :trafficked => :approved
        stays :draft, :incomplete, :pending_approval, :approved, :rejected
      end

      event :approve_themes do 
        moves :trafficked => :approved
        stays :pending_approval, :approved
      end

      event :change_trafficking do
        moves :trafficked => :approved
        stays :incomplete, :draft, :approved, :pending_approval, :rejected
      end

      event :hide do
        moves [:draft, :rejected, :approved, :pending_approval, :trafficked] => :hidden
        stays :hidden
      end

      event :reject do
        moves [:pending_approval, :trafficked, :approved] => :rejected
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jbarnette-stateful-1.0.0.200807052303 spec/fixtures/campaign.rb