Sha256: bca21ccc91aa8ed92b31a909e779781a60712ad83332f7b3d03acf6b44dbb1d8

Contents?: true

Size: 829 Bytes

Versions: 1

Compression:

Stored size: 829 Bytes

Contents


module Ccrypto
  module KeyBundle
    attr_reader :nativeKeypair

    def KeyBundle.from_storage(*args, &block)
      Provider.instance.provider.keybundle_from_storage(*args, &block)
    end

    def native
      @nativeKeypair
    end
    alias_method :keypair, :native

    private
    def method_missing(mtd, *args, &block)
      if not @nativeKeypair.nil?
        logger.debug "Sending to method #{mtd} of object '#{@nativeKeypair}' at KeyBundle level"
        @nativeKeypair.send(mtd, *args, &block)
      else
        super
      end
    end

    def logger
      Ccrypto.logger(:keybundle)
    end

  end

  module ECCKeyBundle
    include KeyBundle
  end

  module RSAKeyBundle
    include KeyBundle
  end

  module ED25519KeyBundle
    include KeyBundle
  end

  module X25519KeyBundle
    include KeyBundle
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ccrypto-0.2.0 lib/ccrypto/key_bundle.rb