Sha256: 95cda93d1386cdd1d7bd44b6cae9bba2b278db367390cfe484b263c2e4cfe6e5

Contents?: true

Size: 1.05 KB

Versions: 19

Compression:

Stored size: 1.05 KB

Contents

require "#{File.dirname(__FILE__)}/default_adapter"
require "#{File.dirname(__FILE__)}/cancan_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

19 entries across 19 versions & 1 rubygems

Version Path
lolita-3.3.9 lib/lolita/extensions/authorization/proxy.rb
lolita-3.3.8 lib/lolita/extensions/authorization/proxy.rb
lolita-3.3.7 lib/lolita/extensions/authorization/proxy.rb
lolita-3.3.6 lib/lolita/extensions/authorization/proxy.rb
lolita-3.3.5 lib/lolita/extensions/authorization/proxy.rb
lolita-3.3.4 lib/lolita/extensions/authorization/proxy.rb
lolita-3.3.3 lib/lolita/extensions/authorization/proxy.rb
lolita-3.3.2 lib/lolita/extensions/authorization/proxy.rb
lolita-3.3.1 lib/lolita/extensions/authorization/proxy.rb
lolita-3.3.0 lib/lolita/extensions/authorization/proxy.rb
lolita-3.2.1 lib/lolita/extensions/authorization/proxy.rb
lolita-3.2.0.rc.17 lib/lolita/extensions/authorization/proxy.rb
lolita-3.2.0.rc.16 lib/lolita/extensions/authorization/proxy.rb
lolita-3.2.0.rc.14 lib/lolita/extensions/authorization/proxy.rb
lolita-3.2.0.rc.13 lib/lolita/extensions/authorization/proxy.rb
lolita-3.2.0.rc.12 lib/lolita/extensions/authorization/proxy.rb
lolita-3.2.0.rc.11 lib/lolita/extensions/authorization/proxy.rb
lolita-3.2.0.rc.10 lib/lolita/extensions/authorization/proxy.rb
lolita-3.2.0.rc.9 lib/lolita/extensions/authorization/proxy.rb