class Codestatus::PackageResolvers::RubygemsResolver

Private Instance Methods

bug_tracker_uri() click to toggle source
# File lib/codestatus/package_resolvers/rubygems_resolver.rb, line 28
def bug_tracker_uri
  gem_info&.dig('bug_tracker_uri')
end
found?() click to toggle source
# File lib/codestatus/package_resolvers/rubygems_resolver.rb, line 8
def found?
  gem_info
end
gem_info() click to toggle source
# File lib/codestatus/package_resolvers/rubygems_resolver.rb, line 32
def gem_info
  @info ||= begin
              Gems.info(package)
            rescue JSON::ParserError
              # When the package is not found on rubygems,
              # Gems does try to parse html as json and raise JSON::ParserError :sob:
              nil
            end
end
homepage_uri() click to toggle source
# File lib/codestatus/package_resolvers/rubygems_resolver.rb, line 20
def homepage_uri
  gem_info&.dig('homepage_uri')
end
source_code_uri() click to toggle source
# File lib/codestatus/package_resolvers/rubygems_resolver.rb, line 24
def source_code_uri
  gem_info&.dig('source_code_uri')
end
urls() click to toggle source
# File lib/codestatus/package_resolvers/rubygems_resolver.rb, line 12
def urls
  [
    source_code_uri,
    homepage_uri,
    bug_tracker_uri,
  ].compact
end