Sha256: 26a516d1e9fb40f2d0766fcec3d07b933f9a4140d86e9d232cb575f2956f7db8

Contents?: true

Size: 736 Bytes

Versions: 6

Compression:

Stored size: 736 Bytes

Contents

module Gaku
  module Admin
    class BaseController < GakuController

      layout :resolve_layout

      before_filter :authorize_admin

      private

      def current_ability
        @current_ability ||= Gaku::AdminAbility.new(current_user)
      end

      def resolve_layout
        case action_name
        when 'index'
          'gaku/layouts/index'
        when 'show'
          'gaku/layouts/show'
        else
          'gaku/layouts/gaku'
        end
      end

      protected

      def authorize_admin
        begin
          record = model_class.new
        rescue
          record = Object.new
        end
        authorize! :admin, record
        authorize! params[:action].to_sym, record
      end

    end
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
gaku_core-0.0.3 app/controllers/gaku/admin/base_controller.rb
gaku-0.0.3 core/app/controllers/gaku/admin/base_controller.rb
gaku-0.0.2 core/app/controllers/gaku/admin/base_controller.rb
gaku_core-0.0.2 app/controllers/gaku/admin/base_controller.rb
gaku-0.0.1 core/app/controllers/gaku/admin/base_controller.rb
gaku_core-0.0.1 app/controllers/gaku/admin/base_controller.rb