diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb index 1f03775cefa1..33d8e35e3d55 100644 --- a/lib/rubygems/specification.rb +++ b/lib/rubygems/specification.rb @@ -2303,7 +2303,6 @@ def ruby_code(obj) when Time then obj.strftime('%Y-%m-%d').dump when Numeric then obj.inspect when true, false, nil then obj.inspect - when OpenSSL::PKey::RSA then obj.class when Gem::Platform then "Gem::Platform.new(#{obj.to_a.inspect})" when Gem::Requirement then list = obj.as_list @@ -2462,9 +2461,8 @@ def to_ruby @@attributes.each do |attr_name| next if handled.include? attr_name current_value = self.send(attr_name) - if current_value != default_value(attr_name) or - self.class.required_attribute? attr_name - result << " s.#{attr_name} = #{ruby_code current_value}" + 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) end end