Sometimes it's really useful, or let's say even necessary, to configure your function-level default values per environment. Now, without any further ado, here is how you do it: @default_tty 1000 * 60 def something(ttl \\ default_ttl()) do # do something end # Time to live (ttl) period (in milliseconds). defp default_ttl do Application.get_env(:myapp, :some_topic, @default_ttl) … Continue reading Configure function default values
How to join strings in Elixir?
Maybe you want to join two strings in a list with a space, build a comma separated string from a list of elements or just want to generally understand the options of combine strings in Elixir. This one is for you. As string manipulation is a big part of most developers it is crucial to … Continue reading How to join strings in Elixir?
What is the difference between utc_datetime and naive_datetime in Ecto?
Regardless if you are new to Phoenix, Ecto or Elixir, at some point you might wonder what the two timestamp type options in your ecto schema are about. It also does not help much that the documentation on the differences between them is very minimal. It comes down to: :naive_datetime represent the NaiveDateTime Elixir type. … Continue reading What is the difference between utc_datetime and naive_datetime in Ecto?
How to split your phoenix router code into parts
As your project grows in size and your router file gets bloated you might want to split up your router into parts according to semantical contexts of your app. Here is how to do that.