class Apes::Serializers::JWT

JWT encoded serialized value.

Public Class Methods

dump(data) click to toggle source

Saves serialized data.

@param data [Object] The data to serialize. @return [String] Serialized data.

# File lib/apes/serializers.rb, line 77
def dump(data)
  ::JWT.encode({aud: "data", sub: data.as_json}, jwt_secret, "HS256")
end
load(serialized, raise_errors = false, default = {}) click to toggle source

Loads serialized data.

@param serialized [String] The serialized data. @param raise_errors [Boolean] Whether to raise decoding errors. @param default [Object] A fallback value to return when not raising errors. @return [Object] A deserialized value.

# File lib/apes/serializers.rb, line 64
def load(serialized, raise_errors = false, default = {})
  data = ::JWT.decode(serialized, jwt_secret, true, {algorithm: "HS256", verify_aud: true, aud: "data"}).dig(0, "sub")
  data = data.with_indifferent_access if data.is_a?(Hash)
  data
rescue => e
  raise(e) if raise_errors
  default
end