Packages

Translates a string of words to a select number of lingos. Right now the only lingo available is Pirate, more to come shortly!

Current section

Files

Jump to
talk_like_a_x lib talk_like_a_x lingo_loader.ex
Raw

lib/talk_like_a_x/lingo_loader.ex

defmodule TalkLikeAX.LingoLoader do
@moduledoc false
def load_lingo(lingo \\ :pirate) do
path = Path.join([__DIR__, "..", "lingos", "#{lingo}.yml"])
YamlElixir.read_from_file(path)
end
def load_lingo_and_extend(extended_lingo) when is_map(extended_lingo) do
load_lingo_and_extend(:pirate, extended_lingo)
end
def load_lingo_and_extend(lingo, extended_lingo) do
case load_lingo(lingo) do
{:ok, lingo_map} -> {:ok, DeepMerge.deep_merge(lingo_map, extended_lingo)}
{:error, _} = result -> result
end
end
end