Sha256: 5cc00a5442c94f726688e6346e0dbeb9d3e9909382c70d6c5338c93d9c6f0f82

Contents?: true

Size: 1.09 KB

Versions: 17

Compression:

Stored size: 1.09 KB

Contents

require "#{File.dirname(__FILE__)}/default_adapter"
require "#{File.dirname(__FILE__)}/cancan_adapter"
require "#{File.dirname(__FILE__)}/pundit_adapter"

module Lolita
  class NoAuthorizationDefinedError < ArgumentError ; end

  module Extensions
    module Authorization

      class Proxy
        attr_accessor :adapter

        def initialize context,options={}
          @context = context
          @options = options
          @adapter = get_adapter()
        end

        def can? *args
          @adapter.can? *args
        end

        def cannot? *args
          @adapter.cannot? *args
        end

        def authorize! *args
          @adapter.authorize! *args
        end

        def current_ability *args
          @adapter.current_ability *args
        end

        private

        def get_adapter
          if Lolita.authorization
            "Lolita::Extensions::Authorization::#{Lolita.authorization}Adapter".constantize.new @context, @options
          else
            Lolita::Extensions::Authorization::DefaultAdapter.new @context, @options
          end
        end
      end

    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
lolita-4.0.11 lib/lolita/extensions/authorization/proxy.rb
lolita-4.2.0 lib/lolita/extensions/authorization/proxy.rb
lolita-4.0.10 lib/lolita/extensions/authorization/proxy.rb
lolita-4.0.9 lib/lolita/extensions/authorization/proxy.rb
lolita-4.0.8 lib/lolita/extensions/authorization/proxy.rb
lolita-4.0.7 lib/lolita/extensions/authorization/proxy.rb
lolita-4.0.6 lib/lolita/extensions/authorization/proxy.rb
lolita-4.0.5 lib/lolita/extensions/authorization/proxy.rb
lolita-4.0.4 lib/lolita/extensions/authorization/proxy.rb
lolita-4.0.3 lib/lolita/extensions/authorization/proxy.rb
lolita-4.0.2 lib/lolita/extensions/authorization/proxy.rb
lolita-4.0.1 lib/lolita/extensions/authorization/proxy.rb
lolita-4.0.0 lib/lolita/extensions/authorization/proxy.rb
lolita-3.4.3 lib/lolita/extensions/authorization/proxy.rb
lolita-3.4.2 lib/lolita/extensions/authorization/proxy.rb
lolita-3.4.1 lib/lolita/extensions/authorization/proxy.rb
lolita-3.4.0 lib/lolita/extensions/authorization/proxy.rb