From ea8f7d4a81fa9e1696930c63b106cc91be14c29d Mon Sep 17 00:00:00 2001 From: David Rodríguez Date: Mon, 29 Jun 2020 18:43:40 +0200 Subject: [rubygems/rubygems] Gem::Specification#to_ruby doesn't need `openssl` The `openssl` require when openssl not present was having the side-effect the our custom require fallbacks would end up loading `Gem::Specification.stubs`. Co-authored-by: Alyssa Ross https://github.com/rubygems/rubygems/commit/22c4ded4ad --- lib/rubygems/specification.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/rubygems/specification.rb') diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb index 0bd62c3648..883cad35f9 100644 --- a/lib/rubygems/specification.rb +++ b/lib/rubygems/specification.rb @@ -2411,7 +2411,7 @@ class Gem::Specification < Gem::BasicSpecification # still have their default values are omitted. def to_ruby - require 'openssl' + require_relative 'openssl' mark_version result = [] result << "# -*- encoding: utf-8 -*-" @@ -2451,7 +2451,7 @@ class Gem::Specification < Gem::BasicSpecification next if handled.include? attr_name current_value = self.send(attr_name) if current_value != default_value(attr_name) || self.class.required_attribute?(attr_name) - result << " s.#{attr_name} = #{ruby_code current_value}" unless current_value.is_a?(OpenSSL::PKey::RSA) + result << " s.#{attr_name} = #{ruby_code current_value}" unless defined?(OpenSSL::PKey::RSA) && current_value.is_a?(OpenSSL::PKey::RSA) end end -- cgit v1.2.3