Class: Upkeep::Runtime::ObservedWarden

Inherits:
Object
  • Object
show all
Defined in:
lib/upkeep/runtime.rb

Instance Method Summary collapse

Constructor Details

#initialize(users_by_scope) ⇒ ObservedWarden

Returns a new instance of ObservedWarden.



593
594
595
# File 'lib/upkeep/runtime.rb', line 593

def initialize(users_by_scope)
  @users_by_scope = users_by_scope || {}
end

Instance Method Details

#authenticate(*args, **options) ⇒ Object



604
605
606
# File 'lib/upkeep/runtime.rb', line 604

def authenticate(*args, **options)
  user(extract_scope(args, options))
end

#authenticated?(*args, **options) ⇒ Boolean

Returns:

  • (Boolean)


608
609
610
# File 'lib/upkeep/runtime.rb', line 608

def authenticated?(*args, **options)
  !user(extract_scope(args, options)).nil?
end

#user(scope = :user, **options) ⇒ Object



597
598
599
600
601
602
# File 'lib/upkeep/runtime.rb', line 597

def user(scope = :user, **options)
  scope = options.fetch(:scope, scope)
  value = @users_by_scope[scope] || @users_by_scope[scope.to_s] || @users_by_scope[scope.to_sym]
  Ambient.record_warden_user(scope, value)
  value
end