Class: NebulaToken::RevokeResult

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

Overview

Result of Engine#revoke_token ([N-36]).

On a failure, user_id and family_id are populated whenever the engine resolved a record, exactly as in RefreshResult — [N-39] governs every failure result, not refresh alone. revoke_token resolves its record before proving the verifier, so a VERIFIER_MISMATCH there is attributable and carries both; MALFORMED, UNKNOWN_KID and NOT_FOUND never do.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ok:, user_id: nil, family_id: nil, revoked: 0, error: nil) ⇒ RevokeResult

Returns a new instance of RevokeResult.



573
574
575
576
577
578
579
580
# File 'lib/nebula_token.rb', line 573

def initialize(ok:, user_id: nil, family_id: nil, revoked: 0, error: nil)
  @ok = ok
  @user_id = user_id
  @family_id = family_id
  @revoked = revoked
  @error = error
  freeze
end

Instance Attribute Details

#errorObject (readonly)

Returns the value of attribute error.



571
572
573
# File 'lib/nebula_token.rb', line 571

def error
  @error
end

#family_idObject (readonly)

Returns the value of attribute family_id.



571
572
573
# File 'lib/nebula_token.rb', line 571

def family_id
  @family_id
end

#revokedObject (readonly)

Returns the value of attribute revoked.



571
572
573
# File 'lib/nebula_token.rb', line 571

def revoked
  @revoked
end

#user_idObject (readonly)

Returns the value of attribute user_id.



571
572
573
# File 'lib/nebula_token.rb', line 571

def user_id
  @user_id
end

Class Method Details

.failure(error, record = nil) ⇒ Object

record is nil exactly when nothing was resolved ([N-39]).



589
590
591
# File 'lib/nebula_token.rb', line 589

def self.failure(error, record = nil)
  new(ok: false, error: error, user_id: record&.user_id, family_id: record&.family_id)
end

.success(user_id:, family_id:, revoked:) ⇒ Object



584
585
586
# File 'lib/nebula_token.rb', line 584

def self.success(user_id:, family_id:, revoked:)
  new(ok: true, user_id: user_id, family_id: family_id, revoked: revoked)
end

Instance Method Details

#ok?Boolean

Returns:

  • (Boolean)


582
# File 'lib/nebula_token.rb', line 582

def ok? = @ok