Sha256: b73ac49db9a454142b582bd4e8c07207fd705d5da66e311886699f0ed104e7d8

Contents?: true

Size: 860 Bytes

Versions: 8

Compression:

Stored size: 860 Bytes

Contents

class InterLibraryLoanStateMachine
  include Statesman::Machine

  state :pending, initial: true
  state :requested
  state :shipped
  state :received
  state :return_shipped
  state :return_received

  transition from: :pending, to: :requested
  transition from: :requested, to: :shipped
  transition from: :shipped, to: :received
  transition from: :received, to: :return_shipped
  transition from: :return_shipped, to: :return_received

  before_transition(to: :shipped) do |inter_library_loan|
    inter_library_loan.ship
  end

  before_transition(to: :received) do |inter_library_loan|
    inter_library_loan.do_receive
  end

  before_transition(to: :return_shipped) do |inter_library_loan|
    inter_library_loan.do_return_ship
  end

  before_transition(to: :return_received) do |inter_library_loan|
    inter_library_loan.do_return_receive
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
enju_inter_library_loan-0.3.0.beta.1 app/models/inter_library_loan_state_machine.rb
enju_inter_library_loan-0.2.0 app/models/inter_library_loan_state_machine.rb
enju_inter_library_loan-0.2.0.beta.2 app/models/inter_library_loan_state_machine.rb
enju_inter_library_loan-0.1.1 app/models/inter_library_loan_state_machine.rb
enju_inter_library_loan-0.1.0 app/models/inter_library_loan_state_machine.rb
enju_inter_library_loan-0.1.0.pre12 app/models/inter_library_loan_state_machine.rb
enju_inter_library_loan-0.1.0.pre11 app/models/inter_library_loan_state_machine.rb
enju_inter_library_loan-0.1.0.pre10 app/models/inter_library_loan_state_machine.rb