Current section
Files
Jump to
Current section
Files
lib/talk_like_ax/lingo_loader.ex
defmodule TalkLikeAX.LingoLoader do
def load_lingo(lingo \\ :pirate) do
path = Path.join(File.cwd!(), "lib/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