Sha256: e37f3b7e6745dfa22dbfd9ee4cbbe8359a37601186cf4426ddd248a172436355

Contents?: true

Size: 652 Bytes

Versions: 13

Compression:

Stored size: 652 Bytes

Contents

# frozen_string_literal: true

module Maquina
  module Show
    extend ActiveSupport::Concern

    included do
      def show(&block)
        @resource ||= begin
          scope = resource_class
          # TODO: Implement filtering by organization
          # scope = scope.where(organization)
          # TODO: Implement policy authorization (ActionPolicy)
          scope = yield(scope) if block.present?

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

        respond_to do |format|
          format.html
          format.json { render json: @resource }
        end
      end
      alias_method :show!, :show
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

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