Application.app_dir
You're seeing just the function
app_dir, go back to Application module for more information.
Specs
Gets the directory for app.
This information is returned based on the code path. Here is an example:
File.mkdir_p!("foo/ebin")
Code.prepend_path("foo/ebin")
Application.app_dir(:foo)
#=> "foo"Even though the directory is empty and there is no .app file
it is considered the application directory based on the name
"foo/ebin". The name may contain a dash - which is considered
to be the app version and it is removed for the lookup purposes:
File.mkdir_p!("bar-123/ebin")
Code.prepend_path("bar-123/ebin")
Application.app_dir(:bar)
#=> "bar-123"For more information on code paths, check the Code module in
Elixir and also Erlang's :code module.
Specs
Returns the given path inside app_dir/1.
If path is a string, then it will be used as the path inside app_dir/1. If
path is a list of strings, it will be joined (see Path.join/1) and the result
will be used as the path inside app_dir/1.
Examples
File.mkdir_p!("foo/ebin")
Code.prepend_path("foo/ebin")
Application.app_dir(:foo, "my_path")
#=> "foo/my_path"
Application.app_dir(:foo, ["my", "nested", "path"])
#=> "foo/my/nested/path"