Sha256: bae95f5d8b692920fabaabe21a62f53e4bc7cb721a6ec0aeff9606a66ea29a82

Contents?: true

Size: 611 Bytes

Versions: 11

Compression:

Stored size: 611 Bytes

Contents

# frozen_string_literal: true

module Maquina
  module Create
    extend ActiveSupport::Concern

    included do
      def create(&block)
        authorize! with: policy_class if policy_class.present?

        @resource ||= begin
          resource = resource_class.new(resource_secure_params)
          resource.save

          resource
        end

        @status = @resource.errors.empty? ? :created : :unprocessable_entity
        response.status = @status
        set_flash_message(@status)

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

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
maquina-0.7.2 app/controllers/concerns/maquina/create.rb
maquina-0.7.1 app/controllers/concerns/maquina/create.rb
maquina-0.5.2 app/controllers/concerns/maquina/create.rb
maquina-0.5.1 app/controllers/concerns/maquina/create.rb
maquina-0.4.0 app/controllers/concerns/maquina/create.rb
maquina-0.3.0 app/controllers/concerns/maquina/create.rb
maquina-0.2.5 app/controllers/concerns/maquina/create.rb
maquina-0.2.2 app/controllers/concerns/maquina/create.rb
maquina-0.2.1 app/controllers/concerns/maquina/create.rb
maquina-0.2.0 app/controllers/concerns/maquina/create.rb
maquina-0.1.0 app/controllers/concerns/maquina/create.rb