Ruby 为什么我们需要单独的openssl.rb文件?

Ruby 为什么我们需要单独的openssl.rb文件?,ruby,openssl,Ruby,Openssl,我想了解为什么我们需要这个项目。 还不够吗?你说得对,核心ruby将openssl作为std库。但是,如果您想确保gem按预期工作,您需要根据当前版本的gem测试其依赖关系,以便在gem安装bitcoin ruby时安装测试的依赖链。否则,您如何确保core ruby SSL的版本没有改变某些可能会破坏已安装版本的比特币ruby 这里是ruby 2.3的std lib核心版本的第一部分 module OpenSSL class Digest alg = %w(DSS DSS1 MD

我想了解为什么我们需要这个项目。
还不够吗?

你说得对,核心ruby将openssl作为std库。但是,如果您想确保gem按预期工作,您需要根据当前版本的gem测试其依赖关系,以便在
gem安装bitcoin ruby
时安装测试的依赖链。否则,您如何确保core ruby SSL的版本没有改变某些可能会破坏已安装版本的
比特币ruby

这里是ruby 2.3的std lib核心版本的第一部分

module OpenSSL
  class Digest

    alg = %w(DSS DSS1 MD2 MD4 MD5 MDC2 RIPEMD160 SHA SHA1)
    if OPENSSL_VERSION_NUMBER > 0x00908000
      alg += %w(SHA224 SHA256 SHA384 SHA512)
    end

下面是ruby 2.4.1的gem版本

module OpenSSL
  class Digest

    alg = %w(MD2 MD4 MD5 MDC2 RIPEMD160 SHA1 SHA224 SHA256 SHA384 SHA512)
    if OPENSSL_VERSION_NUMBER < 0x10100000
      alg += %w(DSS DSS1 SHA)
    end
模块OpenSSL
课程摘要
alg=%w(MD2 MD4 MD5 MDC2 RIPEMD160 SHA1 SHA224 SHA256 SHA384 SHA512)
如果OPENSSL\u版本号<0x10100000
alg+=%w(DSS DSS1 SHA)
结束

现在我们可以看到一些不同的算法定义。不锁定bundle gem版本将是一个坏主意,尤其是对于比特币中的加密技术这样重要的东西。

你说得对,核心ruby具有与std lib一样的openssl。但是,如果您想确保gem按预期工作,您需要根据当前版本的gem测试其依赖关系,以便在
gem安装bitcoin ruby
时安装测试的依赖链。否则,您如何确保core ruby SSL的版本没有改变某些可能会破坏已安装版本的
比特币ruby

这里是ruby 2.3的std lib核心版本的第一部分

module OpenSSL
  class Digest

    alg = %w(DSS DSS1 MD2 MD4 MD5 MDC2 RIPEMD160 SHA SHA1)
    if OPENSSL_VERSION_NUMBER > 0x00908000
      alg += %w(SHA224 SHA256 SHA384 SHA512)
    end

下面是ruby 2.4.1的gem版本

module OpenSSL
  class Digest

    alg = %w(MD2 MD4 MD5 MDC2 RIPEMD160 SHA1 SHA224 SHA256 SHA384 SHA512)
    if OPENSSL_VERSION_NUMBER < 0x10100000
      alg += %w(DSS DSS1 SHA)
    end
模块OpenSSL
课程摘要
alg=%w(MD2 MD4 MD5 MDC2 RIPEMD160 SHA1 SHA224 SHA256 SHA384 SHA512)
如果OPENSSL\u版本号<0x10100000
alg+=%w(DSS DSS1 SHA)
结束
现在我们可以看到一些不同的算法定义。不锁定bundle gem版本将是一个坏主意,尤其是对于比特币中的加密技术这样重要的东西