Module: SolidObjects::StreamToken

Defined in:
lib/solid_objects/stream_token.rb,
sig/generated/lib/solid_objects/stream_token.rbs

Constant Summary collapse

PURPOSE =

Returns:

  • (::String)
"solid_objects.actor_stream"
MAXIMUM_OBSERVABLES =

Returns:

  • (::Integer)
100

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.generate(reference, observables: nil) ⇒ Object

RBS:

  • (Reference, ?observables: Array[String]?) -> String



13
14
15
16
17
18
19
20
21
# File 'lib/solid_objects/stream_token.rb', line 13

def generate(reference, observables: nil)
  identity = {
    "actor_type" => reference.actor_type,
    "actor_id" => reference.actor_id
  }
  identity["observables"] = observables if observables
  validate_identity!(identity)
  verifier.generate(identity, purpose: PURPOSE)
end

.verify(token) ⇒ Object

RBS:

  • (String) -> Hash[String, untyped]



24
25
26
27
28
29
# File 'lib/solid_objects/stream_token.rb', line 24

def verify(token)
  identity = verifier.verified(token, purpose: PURPOSE)
  validate_identity!(identity)
rescue ActiveSupport::MessageVerifier::InvalidSignature
  raise InvalidStreamToken, "invalid actor stream token"
end

Instance Method Details

#self?.generateString

RBS:

  • (Reference, ?observables: Array[String]?) -> String

Parameters:

  • (Reference)
  • observables: (Array[String], nil)

Returns:

  • (String)


10
# File 'sig/generated/lib/solid_objects/stream_token.rbs', line 10

def self?.generate: (Reference, ?observables: Array[String]?) -> String

#self?.signing_secretString

RBS:

  • () -> String

Returns:

  • (String)


22
# File 'sig/generated/lib/solid_objects/stream_token.rbs', line 22

def self?.signing_secret: () -> String

#self?.validate_identity!Hash[String, untyped]

RBS:

  • (Hash[String, untyped]) -> Hash[String, untyped]

Parameters:

  • (Hash[String, untyped])

Returns:

  • (Hash[String, untyped])


16
# File 'sig/generated/lib/solid_objects/stream_token.rbs', line 16

def self?.validate_identity!: (Hash[String, untyped]) -> Hash[String, untyped]

#self?.verifierActiveSupport::MessageVerifier

RBS:

  • () -> ActiveSupport::MessageVerifier

Returns:



19
# File 'sig/generated/lib/solid_objects/stream_token.rbs', line 19

def self?.verifier: () -> ActiveSupport::MessageVerifier

#self?.verifyHash[String, untyped]

RBS:

  • (String) -> Hash[String, untyped]

Parameters:

  • (String)

Returns:

  • (Hash[String, untyped])


13
# File 'sig/generated/lib/solid_objects/stream_token.rbs', line 13

def self?.verify: (String) -> Hash[String, untyped]