Sha256: 62490d9cfaba6141ca217ff0feea28e5c1555e87a4a50ca5ff051901472888f9
Contents?: true
Size: 693 Bytes
Versions: 1
Compression:
Stored size: 693 Bytes
Contents
module Keyring class Key attr_reader :id, :value def initialize(id, value, key_size) @id = Integer(id) @key_size = key_size @value = decode(value) end def to_s "#<AttrKeyring::Key id=#{id.inspect}>" end alias_method :inspect, :to_s private def decode(secret) return secret if secret.bytesize == @key_size value = begin Base64.strict_decode64(secret) rescue ArgumentError Base64.decode64(secret) end return value if value.bytesize == @key_size raise InvalidSecret, "Secret must be #{@key_size} bytes, instead got #{value.bytesize}" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
attr_keyring-0.4.0 | lib/keyring/key.rb |