class Lolita::Extensions::Authorization::CanCanAdapter
Public Class Methods
new(context, options={})
click to toggle source
# File lib/lolita/extensions/authorization/cancan_adapter.rb, line 7 def initialize context, options={} raise NameError, "CanCan is not defined" unless defined?(CanCan) raise Lolita::NoAuthorizationDefinedError, "Lolita.authorization is not defined" unless Lolita.authorization @context = context @options = options set_default_options current_ability end
Public Instance Methods
can?(*args)
click to toggle source
# File lib/lolita/extensions/authorization/cancan_adapter.rb, line 16 def can? *args current_ability.can?(*args) end
cannot?(*args)
click to toggle source
# File lib/lolita/extensions/authorization/cancan_adapter.rb, line 20 def cannot? *args current_ability.cannot?(*args) end
current_ability(*args)
click to toggle source
# File lib/lolita/extensions/authorization/cancan_adapter.rb, line 24 def current_ability *args unless @current_ability @current_ability = Lolita.ability_class.new(@options[:current_user]) @context && @context.instance_variable_set(:"@current_ability",@current_ability) end @current_ability end
Private Instance Methods
set_default_options()
click to toggle source
# File lib/lolita/extensions/authorization/cancan_adapter.rb, line 38 def set_default_options @options[:current_user] ||= @context && @context.authentication_proxy.current_user end