Current section
Files
Jump to
Current section
Files
lib/loader.ex
defmodule Bundesbank.Loader do
@moduledoc false
alias Bundesbank.Bank
# load all banks from data.xlsx and transform to a collection of structs:
# [%Bundesbank.Bank{bank_name: "Deutsche Bank Fil Berlin", bic: "DEUTDEBBXXX", change_code: "U", ...},
# %Bundesbank.Bank{bank_name: "DB PFK (Deutsche Bank PGK)", bic: "DEUTDEDBBER", ...
def load do
keywords = [:code,:property,:description,:postal_code,:city,:bank_name,:pan,:bic,:mark_of_conformity,:record_number,:change_code,:delete_code,:emulation_code]
data_path(["data.xlsx"])
|> Excelion.parse!(0, 2)
|> Enum.map(fn bank -> Enum.zip(keywords, bank) end)
|> Enum.map(fn bank -> Enum.into(bank, %{}) end)
|> Enum.map(fn bank -> struct(Bank, bank) end)
end
defp data_path(path) do
Path.join([:code.priv_dir(:bundesbank), "data"] ++ path)
end
end