MCPcopy Create free account
hub / github.com/aboutcode-org/scancode-toolkit / parse

Method parse

src/packagedcode/rubygems.py:134–171  ·  view source on GitHub ↗
(cls, location, package_only=False)

Source from the content-addressed store, hash-verified

132
133 @classmethod
134 def parse(cls, location, package_only=False):
135 gemspec = spec.parse_spec(
136 location=location,
137 package_type=cls.default_package_type,
138 )
139
140 name = gemspec.get('name')
141 version = gemspec.get('version')
142 homepage_url = gemspec.get('homepage')
143
144 description = build_description(
145 summary=gemspec.get('summary'),
146 description=gemspec.get('description'),
147 )
148 vcs_url = gemspec.get('source')
149
150 extracted_license_statement = gemspec.get('license')
151
152 parties = get_parties(gemspec)
153 dependencies = gemspec.get('dependencies') or []
154
155 urls = get_urls(name=name, version=version)
156
157 package_data = dict(
158 datasource_id=cls.datasource_id,
159 type=cls.default_package_type,
160 name=name,
161 version=version,
162 parties=parties,
163 homepage_url=homepage_url,
164 vcs_url=vcs_url,
165 description=description,
166 extracted_license_statement=extracted_license_statement,
167 primary_language=cls.default_primary_language,
168 dependencies=dependencies,
169 **urls
170 )
171 yield models.PackageData.from_data(package_data, package_only)
172
173class GemspecInExtractedGemHandler(GemspecHandler):
174 datasource_id = 'gemspec_extracted'

Callers

nothing calls this directly

Calls 6

build_descriptionFunction · 0.90
parse_specMethod · 0.80
from_dataMethod · 0.80
get_partiesFunction · 0.70
get_urlsFunction · 0.70
getMethod · 0.65

Tested by

no test coverage detected