Sha256: bf306eba26e99ae3f0f2f7f92eb6589145691fbae5e7bbc41b0b9d4fc6d3e7a5
Contents?: true
Size: 639 Bytes
Versions: 84
Compression:
Stored size: 639 Bytes
Contents
module Ddr::Auth class AbilityFactory private_class_method :new def self.call(user = nil, env = nil) new(user, env).call end attr_reader :auth_context delegate :anonymous?, :superuser?, to: :auth_context def initialize(user, env) @auth_context = AuthContextFactory.call(user, env) end def call if anonymous? AnonymousAbility.new(auth_context) elsif superuser? SuperuserAbility.new(auth_context) else default_ability.new(auth_context) end end def default_ability Ddr::Auth::default_ability.constantize end end end
Version data entries
84 entries across 84 versions & 1 rubygems