Packages

CKEditor 5 integration for Phoenix Framework

Retired package: Renamed - Moved to ckeditor5-phoenix

Current section

Files

Jump to
ckeditor5 lib license assertions.ex
Raw

lib/license/assertions.ex

defmodule CKEditor5.License.Assertions do
@moduledoc false
alias CKEditor5.License
@doc """
Checks if the license key is a GPL license.
"""
def gpl?(%License{key: "GPL"}), do: true
def gpl?(%License{}), do: false
def gpl?("GPL"), do: true
def gpl?(_), do: false
@doc """
Checks if the license is for a specific distribution channel.
"""
def distribution?(%License{distribution_channel: channel}, channel), do: true
def distribution?(%License{}, _), do: false
@doc """
Checks if the license is for cloud distribution.
"""
def cloud_distribution?(%License{} = license), do: distribution?(license, "cloud")
@doc """
Checks if the license is for npm distribution.
"""
def npm_distribution?(%License{} = license), do: distribution?(license, "sh")
@doc """
Checks if the license is compatible with the given distribution channel.
GPL licenses are compatible with all channels.
"""
def compatible_distribution?(%License{distribution_channel: nil}, _), do: true
def compatible_distribution?(%License{distribution_channel: channel}, channel), do: true
def compatible_distribution?(%License{}, _), do: false
@doc """
Checks if the license is compatible with cloud distribution.
"""
def compatible_cloud_distribution?(%License{} = license),
do: compatible_distribution?(license, "cloud")
@doc """
Checks if the license is compatible with npm distribution.
"""
def compatible_npm_distribution?(%License{} = license),
do: compatible_distribution?(license, "sh")
end