Sha256: 4ffbd738fbc80ede4ad42db195011b4010e429822b649425317bf50eff368840

Contents?: true

Size: 1.08 KB

Versions: 1

Compression:

Stored size: 1.08 KB

Contents

module Heimdallr

  # {Resource} is a mixin providing CanCan-like interface for Rails controllers.
  module Resource
    extend ActiveSupport::Concern

    module ClassMethods
      def load_resource(options = {})
        Heimdallr::ResourceImplementation.add_before_filter self, :load_resource, options
      end

      def load_and_authorize_resource(options = {})
        Heimdallr::ResourceImplementation.add_before_filter self, :load_and_authorize_resource, options
      end

      def skip_authorization_check(options = {})
        prepend_before_filter options do |controller|
          controller.instance_variable_set :@_skip_authorization_check, true
        end
      end

    protected
      def own_heimdallr_options=(options)
        class << self
          attr_accessor :heimdallr_options
        end
        self.heimdallr_options = options
      end
    end

  protected
    def skip_authorization_check?
      @_skip_authorization_check
    end
  end

  # {AccessDenied} exception is to be raised when access is denied to an action.
  class AccessDenied < StandardError; end
  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
heimdallr-resource-1.2.0 lib/heimdallr/resource.rb