lib/hex_licenses/hex.ex
# SPDX-FileCopyrightText: 2021 Rosa Richter
#
# SPDX-License-Identifier: MIT
defmodule HexLicenses.Hex do
@moduledoc """
Functions for working with Hex package data.
"""
def license_for_package(package_name) do
with {:ok, metadata} <- metadata(package_name) do
licenses = List.keyfind(metadata, "licenses", 0) |> elem(1)
{:ok, licenses}
end
end
def metadata_file(package_name) do
Mix.Project.deps_path()
|> Path.join(package_name)
|> Path.join("hex_metadata.config")
|> String.to_charlist()
end
def metadata(package_name) do
metadata_file(package_name)
|> :file.consult()
end
end