TigrisRegions

A simple Elixir library providing a list of all Tigris regions with their names, geography, and continent data.

Installation

Add tigris_regions to your list of dependencies in mix.exs:

def deps do
  [
    {:tigris_regions, "~> 0.1.0"}
  ]
end

Functions

Function Description
list/1 Returns all regions. Supports lang: option.
codes/0 Returns a list of all region codes.
names/0 Returns a list of all region names.
get/2 Looks up a region by its code. Supports lang: option.
count/0 Returns the total number of regions.
continents/0 Returns a sorted list of unique continents.
by_continent/2 Returns all regions for a given continent. Supports lang: option.
group_by_continent/1 Groups all regions by continent. Supports lang: option.
supported_languages/0 Returns a sorted list of all supported language codes.

Region Data Structure

Each region is represented as a map:

%{
  code: "fra",
  name: "Frankfurt",
  geography: "Germany",
  continent: "Europe"
}

Usage Examples

# List all regions
TigrisRegions.list()

# Get region codes
TigrisRegions.codes()
#=> ["sjc", "ord", "iad", "ams", "fra", "lhr", "sin", "nrt", "syd", "gru", "jnb"]

# Look up a region
TigrisRegions.get("fra")
#=> %{code: "fra", name: "Frankfurt", geography: "Germany", continent: "Europe"}

# Count regions
TigrisRegions.count()
#=> 11

# Get continents
TigrisRegions.continents()
#=> ["Africa", "Asia Pacific", "Europe", "North America", "South America"]

# Filter by continent
TigrisRegions.by_continent("Europe")

# Group by continent
TigrisRegions.group_by_continent()

Translation Support

Regions can be translated into the following languages:

Code Language
ar Arabic
de German
en English (default)
es Spanish
et Estonian
fr French
hi Hindi
ja Japanese
pt Portuguese
ru Russian
zh Chinese

Translation Examples

# List regions in Japanese
TigrisRegions.list(lang: "ja")

# Get a region in German
TigrisRegions.get("fra", lang: "de")
#=> %{code: "fra", name: "Frankfurt", geography: "Deutschland", continent: "Europe"}

# Group by continent in Chinese
TigrisRegions.group_by_continent(lang: "zh")

# Get supported languages
TigrisRegions.supported_languages()
#=> ["ar", "de", "en", "es", "et", "fr", "hi", "ja", "pt", "ru", "zh"]

Documentation

Documentation can be found at https://hexdocs.pm/tigris_regions.