Sha256: 41f3004b6a38faa66970ffa8d6514b77c410c92222209724257218c976df931d
Contents?: true
Size: 1.17 KB
Versions: 3
Compression:
Stored size: 1.17 KB
Contents
# encoding: binary # typed: strict # frozen_string_literal: true module Paseto module Operations class ID extend T::Sig sig(:final) { params(key: SymmetricKey).returns(String) } def self.lid(key) new(key.protocol).lid(key) end sig(:final) { params(key: AsymmetricKey).returns(String) } def self.sid(key) new(key.protocol).sid(key) end sig(:final) { params(key: AsymmetricKey).returns(String) } def self.pid(key) new(key.protocol).pid(key) end sig { params(protocol: Interface::Version).void } def initialize(protocol) @coder = T.let(protocol.id, Interface::ID) end sig(:final) { params(key: SymmetricKey).returns(String) } def lid(key) @coder.encode('lid', key.paserk) end sig(:final) { params(key: AsymmetricKey).returns(String) } def sid(key) raise ArgumentError, 'no private key available' unless key.private? @coder.encode('sid', key.paserk) end sig(:final) { params(key: AsymmetricKey).returns(String) } def pid(key) @coder.encode('pid', key.public_paserk) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ruby-paseto-0.1.2 | lib/paseto/operations/i_d.rb |
ruby-paseto-0.1.1 | lib/paseto/operations/i_d.rb |
ruby-paseto-0.1.0 | lib/paseto/operations/i_d.rb |