Module: JWE::Enc

Defined in:
lib/jwe/enc.rb,
lib/jwe/enc/a128gcm.rb,
lib/jwe/enc/a192gcm.rb,
lib/jwe/enc/a256gcm.rb,
lib/jwe/enc/aes_gcm.rb,
lib/jwe/enc/aes_cbc_hs.rb,
lib/jwe/enc/a128cbc_hs256.rb,
lib/jwe/enc/a192cbc_hs384.rb,
lib/jwe/enc/a256cbc_hs512.rb

Defined Under Namespace

Modules: AesCbcHs, AesGcm Classes: A128cbcHs256, A128gcm, A192cbcHs384, A192gcm, A256cbcHs512, A256gcm

Class Method Summary collapse

Class Method Details

.for(enc) ⇒ Object



10
11
12
13
14
15
16
17
# File 'lib/jwe/enc.rb', line 10

def self.for(enc)
  klass = enc.gsub(/[-\+]/, '_').downcase.sub(/^[a-z\d]*/) { $&.capitalize }
  klass.gsub!(/_([a-z\d]*)/i) { Regexp.last_match(1).capitalize }
  const_get(klass)

rescue NameError
  raise NotImplementedError.new("Unsupported enc type: #{enc}")
end