Class: GemChangelogDiff::RubygemsClient

Inherits:
Object
  • Object
show all
Defined in:
lib/gem_changelog_diff/rubygems_client.rb

Constant Summary collapse

RUBYGEMS_API =
"https://rubygems.org/api/v1/gems/%<name>s.json"
GITHUB_REPO_REGEX =
%r{github\.com/([^/]+)/([^/]+)}

Instance Method Summary collapse

Instance Method Details

#repo_url(gem_name) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/gem_changelog_diff/rubygems_client.rb', line 11

def repo_url(gem_name)
  uri = URI(format(RUBYGEMS_API, name: gem_name))
  response = Net::HTTP.get_response(uri)
  return nil unless response.is_a?(Net::HTTPSuccess)

  data = JSON.parse(response.body)
  extract_github_repo(data)
end