End of Life Ruby 3.1 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →
instance method
Gem::SpecificationPolicy#validate_metadata
validate_metadata
lib/rubygems/specification_policy.rb
View on GitHub ↗
# File tmp/rubies/ruby-3.1.3/lib/rubygems/specification_policy.rb, line 119
def validate_metadata
metadata = @specification.metadata
unless Hash === metadata
error "metadata must be a hash"
end
metadata.each do |key, value|
entry = "metadata['#{key}']"
if !key.kind_of?(String)
error "metadata keys must be a String"
end
if key.size > 128
error "metadata key is too large (#{key.size} > 128)"
end
if !value.kind_of?(String)
error "#{entry} value must be a String"
end
if value.size > 1024
error "#{entry} value is too large (#{value.size} > 1024)"
end
if METADATA_LINK_KEYS.include? key
if value !~ VALID_URI_PATTERN
error "#{entry} has invalid link: #{value.inspect}"
end
end
end
end
Implementation for Specification#validate_metadata
See also
#validate_licenses_length
#validate_name
#validate_licenses
#validate_nil_attributes
also in
4.1 · 4.0 · 3.4 · 3.3 · 3.2 · 3.0