8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# File 'lib/gem/insight/gem_data_fetcher.rb', line 8
def self.fetch_gem_details(gem_name, gem_version = 'latest')
api_url = "#{RUBYGEMS_API_BASE_URL}#{gem_name}/versions/#{gem_version}.json"
uri = URI(api_url)
response = Net::HTTP.get(uri)
gem_data = JSON.parse(response)
{
name: gem_data['name'],
version: gem_data['version'],
total_downloads: gem_data['downloads'],
documentation_url: gem_data['documentation_uri'],
ruby_version_support: gem_data['ruby_version'],
compatibility: gem_data['platform'],
github_repository: gem_data['source_code_uri'],
bug_tracker: gem_data['bug_tracker_uri'],
gem_uri: gem_data['gem_uri'],
changelog: gem_data['changelog_uri']
}
end
|