All posts

Elixir: alias __MODULE__ explained


When you come across the code below in Elixir it is fairly reasonable to assume you are aliasing the module in which it is used. But what does it allow you to do?

defmodule Engine.Middelware do 
    alias __MODULE__

After using alias __MODULE__ like code above does, we can more simply create or reference the struct for Engine.Middelware throught this modules code. Since we’ve aliased the Middleware module, we can now refer to Middleware structs as %Middleware{} instead of %Engine.Middelware{}.