Class: GemChangelogDiff::RubygemsClient
- Inherits:
-
Object
- Object
- GemChangelogDiff::RubygemsClient
- Defined in:
- lib/gem_changelog_diff/rubygems_client.rb
Constant Summary collapse
- RUBYGEMS_API =
"https://rubygems.org/api/v1/gems/%<name>s.json"
Instance Method Summary collapse
-
#initialize(cache: nil, uri_resolver: UriResolver.new) ⇒ RubygemsClient
constructor
A new instance of RubygemsClient.
- #latest_version(gem_name) ⇒ Object
- #repo_url(gem_name) ⇒ Object
Constructor Details
#initialize(cache: nil, uri_resolver: UriResolver.new) ⇒ RubygemsClient
Returns a new instance of RubygemsClient.
10 11 12 13 |
# File 'lib/gem_changelog_diff/rubygems_client.rb', line 10 def initialize(cache: nil, uri_resolver: UriResolver.new) @cache = cache @uri_resolver = uri_resolver end |
Instance Method Details
#latest_version(gem_name) ⇒ Object
22 23 24 25 |
# File 'lib/gem_changelog_diff/rubygems_client.rb', line 22 def latest_version(gem_name) data = fetch_gem_data(gem_name) data&.dig("version") end |
#repo_url(gem_name) ⇒ Object
15 16 17 18 19 20 |
# File 'lib/gem_changelog_diff/rubygems_client.rb', line 15 def repo_url(gem_name) data = fetch_gem_data(gem_name) return nil unless data @uri_resolver.resolve(data) end |