Sha256: d160395acc42dc61605210ac8b6159f1aaa8e11496672efc7f9f374d5483519f

Contents?: true

Size: 402 Bytes

Versions: 2

Compression:

Stored size: 402 Bytes

Contents

require 'jwe/alg/dir'
require 'jwe/alg/rsa_oaep'
require 'jwe/alg/rsa15'

module JWE
  module Alg
    def self.for(alg)
      klass = alg.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 alg type: #{alg}")
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
jwe-0.2.0 lib/jwe/alg.rb
jwe-0.1.1 lib/jwe/alg.rb