Skip to content

Commit 4c07bd3

Browse files
committed
Improve error handling in versions_metadata method to log JSON parsing errors
1 parent 9e7e943 commit 4c07bd3

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

app/models/ecosystem/julia.rb

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -135,17 +135,22 @@ def fetch_downloads(package_name)
135135
def versions_metadata(pkg_metadata, existing_version_numbers = [])
136136
version_numbers = get_json("#{@registry_url}/docs/General/#{pkg_metadata[:name]}/versions.json")
137137
version_numbers.map do |v|
138-
version_json = get_json("#{@registry_url}/docs/General/#{pkg_metadata[:name]}/#{v}/pkg.json")
139-
next if version_json.nil?
140-
{
141-
number: version_json['version'],
142-
published_at: version_json['release_date'],
143-
licenses: version_json['license'],
144-
metadata: {
145-
slug: version_json['slug'],
146-
uuid: version_json['uuid'],
138+
begin
139+
version_json = get_json("#{@registry_url}/docs/General/#{pkg_metadata[:name]}/#{v}/pkg.json")
140+
next if version_json.nil?
141+
{
142+
number: version_json['version'],
143+
published_at: version_json['release_date'],
144+
licenses: version_json['license'],
145+
metadata: {
146+
slug: version_json['slug'],
147+
uuid: version_json['uuid'],
148+
}
147149
}
148-
}
150+
rescue Oj::ParseError => e
151+
Rails.logger.error "Failed to parse JSON for #{pkg_metadata[:name]} version #{v}: #{e.message}"
152+
next
153+
end
149154
end.compact
150155
end
151156

0 commit comments

Comments
 (0)