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