Skip to content

Instantly share code, notes, and snippets.

defmodule KeyError do
defexception [:key, :term, :message]
@impl true
def message(exception = %{message: nil}), do: message(exception.key, exception.term)
def message(%{message: message}), do: message
defp message(key, term) do
message = "key #{inspect(key)} not found"
defmodule Frontix.Payments.Parsers.Xlsx do
@moduledoc """
Парсер xlsx файлов платежей
"""
# Координаты начала твблицы, которую парсим. Zero-based {строка, столбец}
@top_left {8, 0}
# Имя и тип поля в таблице, skip: true - пропустить эту колонку
@fields [
date: :date,
@AndreOrlov
AndreOrlov / map_utilities.ex
Created July 17, 2019 07:20
Atomize keys and stringify keys map Elixir
defmodule MapUtilities do
@moduledoc false
@doc """
Convert map string keys to :atom keys
"""
def atomize_keys(map = %{}) do
map
|> Enum.map(fn
{k, v} when is_atom(k) -> {k, atomize_keys(v)}
@AndreOrlov
AndreOrlov / rename_phoenix_project.sh
Created June 10, 2018 23:29 — forked from vrymel/rename_phoenix_project.sh
Command steps to rename a Phoenix project
# tested on macOS 10.12.4
# based on https://elixirforum.com/t/how-to-change-a-phoenix-project-name-smoothly/1217/6
# replace values as necessary
current_otp="hello_phoenix"
current_name="HelloPhoenix"
new_otp=""
new_name=""
git grep -l $current_otp | xargs sed -i '' -e 's/'$current_otp'/'$new_otp'/g'