core/app/services/spree/shipments/change_state.rb

Summary

Maintainability
A
0 mins
Test Coverage
F
0%
module Spree
  module Shipments
    class ChangeState
      prepend Spree::ServiceModule::Base

      def call(shipment:, state:)
        shipment.send("#{state}!")
        success(shipment.reload)
      rescue ActiveRecord::Rollback, ActiveRecord::RecordInvalid, StateMachines::InvalidTransition
        failure(shipment)
      end
    end
  end
end