From 741ce7e1a6f81bef9aba802d02db4370fba86b85 Mon Sep 17 00:00:00 2001 From: Tim Buckley Date: Sat, 10 Mar 2018 22:17:22 -0500 Subject: [PATCH] Use ex syntax highlighting in readme --- README.md | 52 +++++++++++++++++++++++++++++++++------------------- 1 file changed, 33 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 1a33e5a..096d7ca 100644 --- a/README.md +++ b/README.md @@ -15,43 +15,57 @@ Instead of `|>` we can use `>>>` to pipe `{:ok, val} | {:error, error}` returnin As written in `test/rop_test.exs`: - use Rop +```ex +use Rop +``` Using Rop defines `>>>` operator. - test "Count to 3" do - assert (ok(0) >>> ok >>> ok) == {:ok, 3} - end +```ex +test "Count to 3" do + assert (ok(0) >>> ok >>> ok) == {:ok, 3} +end +``` We increase `0` three times to end up with `{:ok, 3}`. - test "Error" do - assert (ok(0) >>> error) == {:error, "Error at 1"} - end +```ex +test "Error" do + assert (ok(0) >>> error) == {:error, "Error at 1"} +end +``` Error function always return error. - test "Error propagation" do - assert (ok(0) >>> error >>> ok) == {:error, "Error at 1"} - end +```ex +test "Error propagation" do + assert (ok(0) >>> error >>> ok) == {:error, "Error at 1"} +end +``` Error was propagated and second `ok` was not called. - test "First error is returned" do - assert (ok(0) >>> error >>> error) == {:error, "Error at 1"} - end +```ex +test "First error is returned" do + assert (ok(0) >>> error >>> error) == {:error, "Error at 1"} +end +``` Only first error is returned, since next `error` is never called. - defp ok(cnt) do - {:ok, cnt + 1} - end +```ex +defp ok(cnt) do + {:ok, cnt + 1} +end +``` `ok/1` function takes value and increases it, returning standard `{:ok, val}` response. - defp error(cnt) do - {:error, "Error at #{cnt}"} - end +```ex +defp error(cnt) do + {:error, "Error at #{cnt}"} +end +``` `error/1` function takes value and returns standard `{:error, string}` that identifies where error was called.