October 2014
Intermediate to advanced
280 pages
7h 20m
English
All that’s left from our design is to create the formatted table. This would be a nice interface:
| | def process({user, project, count}) do |
| | Issues.GithubIssues.fetch(user, project) |
| | |> decode_response |
| | |> convert_to_list_of_hashdicts |
| | |> sort_into_ascending_order |
| | |> Enum.take(count) |
* | |> print_table_for_columns(["number", "created_at", "title"]) |
| | end |
We pass the formatter the list of columns to include in the table, and it writes the table to standard output.
The formatter doesn’t add any new project- or design-related techniques, so we’ll just list it.
| project/4/issues/lib/issues/table_formatter.ex | |
| | defmodule Issues.TableFormatter do |
| | |
| | import Enum, only: [ each: 2, map: 2, map_join: 3, ... |
Read now
Unlock full access