Skip to content

Commit

Permalink
Use "gem" instead of "rubygems" to match purl spec
Browse files Browse the repository at this point in the history
  • Loading branch information
juspence committed Feb 15, 2023
1 parent 905c89b commit 3435bef
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 20 deletions.
4 changes: 2 additions & 2 deletions src/packageurl/contrib/purl2url.py
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ def build_gitlab_repo_url(purl):
return f"https://gitlab.com/{namespace}/{name}"


@repo_router.route("pkg:rubygems/.*")
@repo_router.route("pkg:gem/.*")
def build_rubygems_repo_url(purl):
"""
Return a rubygems repo URL from the `purl` string.
Expand Down Expand Up @@ -255,7 +255,7 @@ def build_cargo_download_url(purl):
return f"https://crates.io/api/v1/crates/{name}/{version}/download"


@download_router.route("pkg:rubygems/.*")
@download_router.route("pkg:gem/.*")
def build_rubygems_download_url(purl):
"""
Return a rubygems download URL from the `purl` string.
Expand Down
2 changes: 1 addition & 1 deletion src/packageurl/contrib/url2purl.py
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,7 @@ def build_rubygems_purl(uri):
rubygems_pattern = (
r"^https?://rubygems.org/(downloads|gems)/(?P<name>.+)-(?P<version>.+)(\.gem)$"
)
return purl_from_pattern("rubygems", rubygems_pattern, uri)
return purl_from_pattern("gem", rubygems_pattern, uri)


# https://pypi.python.org/packages/source/a/anyjson/anyjson-0.3.3.tar.gz
Expand Down
28 changes: 14 additions & 14 deletions tests/contrib/data/url2purl.json
Original file line number Diff line number Diff line change
Expand Up @@ -108,19 +108,19 @@
"https://www.npmjs.org/package/": null,
"http://rubygems.org/downloads/": null,
"http://rubygems.org/downloads/macaddr-1.6.1": null,
"http://rubygems.org/downloads/macaddr-1.6.1.gem": "pkg:rubygems/macaddr@1.6.1",
"http://rubygems.org/downloads/open4-1.3.0.gem": "pkg:rubygems/open4@1.3.0",
"https://rubygems.org/downloads/actionmailer-4.0.3.gem": "pkg:rubygems/actionmailer@4.0.3",
"https://rubygems.org/downloads/activerecord-deprecated_finders-1.0.3.gem": "pkg:rubygems/activerecord-deprecated_finders@1.0.3",
"https://rubygems.org/downloads/ejs-1.1.1.gem": "pkg:rubygems/ejs@1.1.1",
"https://rubygems.org/downloads/eventmachine-0.12.11.cloudfoundry.3.gem": "pkg:rubygems/eventmachine@0.12.11.cloudfoundry.3",
"https://rubygems.org/downloads/ffi-1.9.3.gem": "pkg:rubygems/ffi@1.9.3",
"https://rubygems.org/downloads/jwt-0.1.8.gem": "pkg:rubygems/jwt@0.1.8",
"https://rubygems.org/downloads/ref-1.0.5.gem": "pkg:rubygems/ref@1.0.5",
"https://rubygems.org/downloads/talentbox-delayed_job_sequel-4.0.0.gem": "pkg:rubygems/talentbox-delayed_job_sequel@4.0.0",
"https://rubygems.org/downloads/unf-0.1.3.gem": "pkg:rubygems/unf@0.1.3",
"https://rubygems.org/downloads/yajl-ruby-1.2.0.gem": "pkg:rubygems/yajl-ruby@1.2.0",
"https://rubygems.org/gems/i18n-js-3.0.11.gem": "pkg:rubygems/i18n-js@3.0.11",
"http://rubygems.org/downloads/macaddr-1.6.1.gem": "pkg:gem/macaddr@1.6.1",
"http://rubygems.org/downloads/open4-1.3.0.gem": "pkg:gem/open4@1.3.0",
"https://rubygems.org/downloads/actionmailer-4.0.3.gem": "pkg:gem/actionmailer@4.0.3",
"https://rubygems.org/downloads/activerecord-deprecated_finders-1.0.3.gem": "pkg:gem/activerecord-deprecated_finders@1.0.3",
"https://rubygems.org/downloads/ejs-1.1.1.gem": "pkg:gem/ejs@1.1.1",
"https://rubygems.org/downloads/eventmachine-0.12.11.cloudfoundry.3.gem": "pkg:gem/eventmachine@0.12.11.cloudfoundry.3",
"https://rubygems.org/downloads/ffi-1.9.3.gem": "pkg:gem/ffi@1.9.3",
"https://rubygems.org/downloads/jwt-0.1.8.gem": "pkg:gem/jwt@0.1.8",
"https://rubygems.org/downloads/ref-1.0.5.gem": "pkg:gem/ref@1.0.5",
"https://rubygems.org/downloads/talentbox-delayed_job_sequel-4.0.0.gem": "pkg:gem/talentbox-delayed_job_sequel@4.0.0",
"https://rubygems.org/downloads/unf-0.1.3.gem": "pkg:gem/unf@0.1.3",
"https://rubygems.org/downloads/yajl-ruby-1.2.0.gem": "pkg:gem/yajl-ruby@1.2.0",
"https://rubygems.org/gems/i18n-js-3.0.11.gem": "pkg:gem/i18n-js@3.0.11",
"https://pypi.python.org/packages/source/z/zc.recipe.egg/zc.recipe.egg-2.0.0.tar.gz": "pkg:pypi/zc.recipe.egg@2.0.0",
"https://pypi.python.org/packages/source/p/python-openid/python-openid-2.2.5.zip": "pkg:pypi/python-openid@2.2.5",
"https://pypi.python.org/packages/38/e2/b23434f4030bbb1af3bcdbb2ecff6b11cf2e467622446ce66a08e99f2ea9/pluggy-0.4.0.zip#md5=447a92368175965d2fbacaef9f3df842": "pkg:pypi/pluggy@0.4.0",
Expand Down Expand Up @@ -257,4 +257,4 @@
"http://apt-rpm.org/": null,
"": null,
"https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/android-notifier/android-notifier-desktop-0.5.1-1.i386.rpm": "pkg:generic/code.google.com/android-notifier?download_url=https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/android-notifier/android-notifier-desktop-0.5.1-1.i386.rpm"
}
}
6 changes: 3 additions & 3 deletions tests/contrib/test_purl2url.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ def test_purl2url_get_repo_url():
"pkg:github/tg1999": None,
"pkg:cargo/rand@0.7.2": "https://crates.io/crates/rand/0.7.2",
"pkg:cargo/abc": "https://crates.io/crates/abc",
"pkg:rubygems/bundler@2.3.23": "https://rubygems.org/gems/bundler/versions/2.3.23",
"pkg:gem/bundler@2.3.23": "https://rubygems.org/gems/bundler/versions/2.3.23",
"pkg:gem/package-name": None,
"pkg:bitbucket/birkenfeld/pygments-main": "https://bitbucket.org/birkenfeld/pygments-main",
"pkg:bitbucket/birkenfeld/pygments-main@244fd47e07d1014f0aed9c": "https://bitbucket.org/birkenfeld/pygments-main",
Expand Down Expand Up @@ -67,7 +67,7 @@ def test_purl2url_get_download_url():
purls_url = {
# Generated
"pkg:cargo/rand@0.7.2": "https://crates.io/api/v1/crates/rand/0.7.2/download",
"pkg:rubygems/bundler@2.3.23": "https://rubygems.org/downloads/bundler-2.3.23.gem",
"pkg:gem/bundler@2.3.23": "https://rubygems.org/downloads/bundler-2.3.23.gem",
"pkg:npm/is-npm@1.0.0": "http://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz",
"pkg:hackage/cli-extras@0.2.0.0": "https://hackage.haskell.org/package/cli-extras-0.2.0.0/cli-extras-0.2.0.0.tar.gz",
"pkg:nuget/System.Text.Json@6.0.6": "https://www.nuget.org/api/v2/package/System.Text.Json/6.0.6",
Expand Down Expand Up @@ -98,7 +98,7 @@ def test_purl2url_get_inferred_urls():
"https://crates.io/crates/rand/0.7.2",
"https://crates.io/api/v1/crates/rand/0.7.2/download",
],
"pkg:rubygems/bundler@2.3.23": [
"pkg:gem/bundler@2.3.23": [
"https://rubygems.org/gems/bundler/versions/2.3.23",
"https://rubygems.org/downloads/bundler-2.3.23.gem",
],
Expand Down

0 comments on commit 3435bef

Please sign in to comment.