Sha256: e45a31456b7816df6cfaa9e3807dc9503e2abf01dae3fcfe8e5fa2af4e7e2163
Contents?: true
Size: 686 Bytes
Versions: 16
Compression:
Stored size: 686 Bytes
Contents
class RailsOps::Operation::Model::Destroy < RailsOps::Operation::Model::Load model_authorization_action :destroy lock_mode :exclusive def model_authorization return unless authorization_enabled? unless load_model_authorization_action.nil? authorize_model_with_authorize_only! load_model_authorization_action, model end unless model_authorization_action.nil? authorize_model! model_authorization_action, model end end policy do if model.respond_to?(:deleteable?) && !model.deleteable? fail RailsOps::Exceptions::ModelNotDeleteable end end def perform trigger :before_destroy, model: model model.destroy! end end
Version data entries
16 entries across 16 versions & 1 rubygems