hahwul/purl.cr
GitHub: hahwul/purl.cr
Stars: 3 | Forks: 0
# purl.cr
A Crystal implementation of the [Package URL (purl) specification](https://github.com/package-url/purl-spec).
## Installation
Add this to your `shard.yml`:
dependencies:
purl:
github: hahwul/purl.cr
Then run `shards install`.
## Usage
require "purl"
# Create a PackageURL
purl = Purl::PackageURL.new("npm", "@babel", "core", "7.20.0")
puts purl.to_s # => "pkg:npm/%40babel/core@7.20.0"
# Parse a purl string
purl = Purl::PackageURL.parse("pkg:maven/org.apache.commons/commons-lang3@3.12.0")
puts purl.type # => "maven"
puts purl.namespace # => "org.apache.commons"
puts purl.name # => "commons-lang3"
puts purl.version # => "3.12.0"
# With qualifiers
purl = Purl::PackageURL.new(
"deb", "debian", "curl", "7.50.3-1",
qualifiers: {"arch" => "amd64", "distro" => "jessie"}
)
puts purl.to_s # => "pkg:deb/debian/curl@7.50.3-1?arch=amd64&distro=jessie"
## License
MIT