class Ddr::Auth::AbilityFactory

Attributes

auth_context[R]

Public Class Methods

call(user = nil, env = nil) click to toggle source
# File lib/ddr/auth/ability_factory.rb, line 6
def self.call(user = nil, env = nil)
  new(user, env).call
end
new(user, env) click to toggle source
# File lib/ddr/auth/ability_factory.rb, line 14
def initialize(user, env)
  @auth_context = AuthContextFactory.call(user, env)
end

Public Instance Methods

call() click to toggle source
# File lib/ddr/auth/ability_factory.rb, line 18
def call
  if anonymous?
    AnonymousAbility.new(auth_context)
  elsif superuser?
    SuperuserAbility.new(auth_context)
  else
    default_ability.new(auth_context)
  end
end
default_ability() click to toggle source
# File lib/ddr/auth/ability_factory.rb, line 28
def default_ability
  Ddr::Auth::default_ability.constantize
end