Reading files from your priv dir in elixir

Reading files from your priv dir in elixir

Yesterday i realized my deployed app were throwing errors because it couldn’t find the newly added files it were supposed to read from the priv folder.

Now, Elixir lacks a way to point at the current folder where the app resides but thanks to the compatibility with Erlang we can get it do the job!

By using Erlangs Code module (which we reach with the atom :code) we can get it safely, no matter what environment you’re using.

iex> :code.priv_dir(:my_module_name)
"/Users/.../my_module_name/priv"

If you’re unsure what argument to send to priv_dir, just take a peek in your mix.exs file and have a look at the value of app

  def project do
    [
      app: :mintcore,
      version: "0.1.0",
      ...
   ]
  end