Class: Licensure::LicenseFetcher
- Inherits:
-
Object
- Object
- Licensure::LicenseFetcher
- Defined in:
- lib/licensure/license_fetcher.rb
Overview
Fetches gem license data from local gemspecs and RubyGems API.
Constant Summary collapse
- RUBYGEMS_ENDPOINT =
"https://rubygems.org/api/v1/gems".freeze
- GITHUB_LICENSE_ENDPOINT =
"https://api.github.com/repos".freeze
- REQUEST_TIMEOUT =
5
Instance Method Summary collapse
- #fetch(name, version) ⇒ Licensure::GemLicenseInfo
- #fetch_all(dependencies) ⇒ Array<Licensure::GemLicenseInfo>
Instance Method Details
#fetch(name, version) ⇒ Licensure::GemLicenseInfo
22 23 24 25 26 27 28 29 30 |
# File 'lib/licensure/license_fetcher.rb', line 22 def fetch(name, version) local = fetch_from_gemspec(name) return build_info_from_payload(name, version, local, :gemspec) if local remote = fetch_from_api(name) return build_info_from_payload(name, version, remote, :api) if remote build_info(name, version, [], :unknown, nil) end |
#fetch_all(dependencies) ⇒ Array<Licensure::GemLicenseInfo>
15 16 17 |
# File 'lib/licensure/license_fetcher.rb', line 15 def fetch_all(dependencies) dependencies.map { |dependency| fetch(dependency[:name], dependency[:version]) } end |