Sha256: af5b5f08793c2c78e67103661c80043988ba98d31202b3ffe683acd0a993c9f6

Contents?: true

Size: 744 Bytes

Versions: 7

Compression:

Stored size: 744 Bytes

Contents

# frozen_string_literal: true

module Maquina
  module Update
    extend ActiveSupport::Concern

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

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

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

          resource
        end

        saved = @resource.update(resource_secure_params)

        status = saved ? :accepted : :unprocessable_entity
        response.status = status
        set_flash_message(status)

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

Version data entries

7 entries across 7 versions & 1 rubygems

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