Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pragdave/exlibris


https://github.com/pragdave/exlibris

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        

Exlibris
========

A collection of random functions that I've used in more than one project:

* **pipe_while_ok**

Create pipelines that terminate early if any step fails to return a
tuple that starts `{:ok, ...}`

* **before_returning**

Like Ruby's `returning`, it evaluates its first argument, then evaluates the
`do` block. It always returns the value of its first argument.

The `do` block is like the body of a `case`, in that it receives the value
of the first argument and patterns matches on it.

before_returning File.open(name) do
{:ok, _file} -> Logger.debug("#{name} opened OK")
{:error, reason} -> Logger.error("Opening #{name}: #{:file.format_error(reason)}")
end