BeamLabCountries.Unions (beamlab_countries v1.0.6)
View SourceModule for working with international unions, organizations, and country groupings.
This module provides functions to query unions such as the European Union, NATO, G7, ASEAN, and other international organizations.
Examples
# Get all unions
BeamLabCountries.Unions.all()
# Get a specific union
BeamLabCountries.Unions.get("eu")
# Check if a country is a member of a union
BeamLabCountries.Unions.member?("DE", "eu")
# Get all unions a country belongs to
BeamLabCountries.Unions.for_country("DE")
Summary
Functions
Returns all unions.
Returns union codes that a country belongs to.
Returns the total number of unions.
Checks if a union exists.
Filters unions by given attribute and value.
Returns all unions that a country belongs to.
Returns one union given its code, or nil if not found.
Returns one union given its code, or raises if not found.
Checks if a country is a member of a union.
Returns all member countries of a union as Country structs.
Functions
@spec all() :: [BeamLabCountries.Union.t()]
Returns all unions.
Examples
iex> unions = BeamLabCountries.Unions.all()
iex> length(unions) > 0
true
Returns union codes that a country belongs to.
Examples
iex> codes = BeamLabCountries.Unions.codes_for_country("DE")
iex> "eu" in codes
true
@spec count() :: non_neg_integer()
Returns the total number of unions.
Examples
iex> BeamLabCountries.Unions.count()
13
Checks if a union exists.
Examples
iex> BeamLabCountries.Unions.exists?("eu")
true
iex> BeamLabCountries.Unions.exists?("invalid")
false
@spec filter_by(atom(), any()) :: [BeamLabCountries.Union.t()]
Filters unions by given attribute and value.
Examples
iex> unions = BeamLabCountries.Unions.filter_by(:type, :military)
iex> Enum.any?(unions, &(&1.code == "nato"))
true
@spec for_country(String.t()) :: [BeamLabCountries.Union.t()]
Returns all unions that a country belongs to.
Examples
iex> unions = BeamLabCountries.Unions.for_country("DE")
iex> "eu" in Enum.map(unions, & &1.code)
true
@spec get(String.t()) :: BeamLabCountries.Union.t() | nil
Returns one union given its code, or nil if not found.
Examples
iex> %BeamLabCountries.Union{name: name} = BeamLabCountries.Unions.get("eu")
iex> name
"European Union"
iex> BeamLabCountries.Unions.get("invalid")
nil
@spec get!(String.t()) :: BeamLabCountries.Union.t()
Returns one union given its code, or raises if not found.
Examples
iex> %BeamLabCountries.Union{name: name} = BeamLabCountries.Unions.get!("eu")
iex> name
"European Union"
Checks if a country is a member of a union.
Examples
iex> BeamLabCountries.Unions.member?("DE", "eu")
true
iex> BeamLabCountries.Unions.member?("US", "eu")
false
@spec member_countries(String.t()) :: [BeamLabCountries.Country.t()]
Returns all member countries of a union as Country structs.
Examples
iex> countries = BeamLabCountries.Unions.member_countries("eu")
iex> length(countries)
27