Sha256: 68e7c957605fd0ec1239cb8d693913006de59a624a56d3fbc1d77eefd376237d

Contents?: true

Size: 652 Bytes

Versions: 9

Compression:

Stored size: 652 Bytes

Contents

# frozen_string_literal: true

module Maquina
  module Destroy
    extend ActiveSupport::Concern

    included do
      def destroy(&block)
        @resource ||= begin
          scope = resource_class
          scope = authorized_scope(scope) if policy_class.present?

          scope.find_by!(find_by_param => params[:id])

          authorize! resource, with: policy_class if policy_class.present?
        end

        @resource.destroy

        status = :no_content
        response.status = status
        set_flash_message(status)

        dual_action_response(@resource, &block)
      end
      alias_method :destroy!, :destroy
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
maquina-0.7.2 app/controllers/concerns/maquina/destroy.rb
maquina-0.7.1 app/controllers/concerns/maquina/destroy.rb
maquina-0.5.2 app/controllers/concerns/maquina/destroy.rb
maquina-0.5.1 app/controllers/concerns/maquina/destroy.rb
maquina-0.4.0 app/controllers/concerns/maquina/destroy.rb
maquina-0.3.0 app/controllers/concerns/maquina/destroy.rb
maquina-0.2.5 app/controllers/concerns/maquina/destroy.rb
maquina-0.2.4 app/controllers/concerns/maquina/destroy.rb
maquina-0.2.3 app/controllers/concerns/maquina/destroy.rb