Current section
Files
Jump to
Current section
Files
doc/GithubIssues.TableFormatter.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="ExDoc v0.12.0">
<title>GithubIssues.TableFormatter – GithubIssues v0.0.1</title>
<link rel="stylesheet" href="dist/app-88251e7c81.css" />
<script src="dist/sidebar_items.js"></script>
</head>
<body data-type="modules">
<div class="main">
<button class="sidebar-toggle">
<i class="icon-menu"></i>
</button>
<section class="sidebar">
<a href="api-reference.html" class="sidebar-projectLink">
<div class="sidebar-projectDetails">
<h1 class="sidebar-projectName">
GithubIssues
</h1>
<h2 class="sidebar-projectVersion">
v0.0.1
</h2>
</div>
</a>
<div class="sidebar-search">
<i class="icon-search"></i>
<input type="text" class="sidebar-searchInput" placeholder="search" autocomplete="off" />
</div>
<ul class="sidebar-listNav">
<li><a id="extras-list" href="#full-list">Pages</a></li>
<li><a id="modules-list" href="#full-list">Modules</a></li>
</ul>
<ul id="full-list" class="sidebar-fullList"></ul>
<div class="sidebar-noResults"></div>
</section>
<section class="content">
<div class="content-outer">
<div id="content" class="content-inner">
<h1>
<small class="visible-xs">GithubIssues v0.0.1</small>
GithubIssues.TableFormatter
<a href="https://github.com/PatNowak/GithubIssues-Elixir/blob/master/lib/GithubIssues/table_formatter.ex#L1" title="View Source" class="view-source" rel="help">
<i class="icon-code"></i>
</a>
</h1>
<section id="summary" class="details-list">
<h1 class="section-heading">
<a class="hover-link" href="#summary">
<i class="icon-link"></i>
</a>
Summary
</h1>
<div class="summary-functions summary">
<h2>
<a href="#functions">Functions</a>
</h2>
<div class="summary-row">
<div class="summary-signature">
<a href="#format_for/1">format_for(column_widths)</a>
</div>
<div class="summary-synopsis"><p>Return a format string that hard codes the widths of a set of columns.
We put <code class="inline">"|"</code> between each column.</p>
<h2>Examples</h2>
<pre><code class="iex elixir">iex> widths = [5, 6, 99]
iex> GithubIssues.TableFormatter.format_for(widths)
"~-5s|~-6s|~-99s~n"</code></pre>
</div>
</div>
<div class="summary-row">
<div class="summary-signature">
<a href="#print_table_for_columns/2">print_table_for_columns(rows, headers)</a>
</div>
<div class="summary-synopsis"><p>Takes a list of row data, where each row is Map, and a list of
headers. Prints a table to STDOUT of the data from each row
identified by each header. That is, each header identifies a column,
and those columns are extracted and printed from the rows.
We calculate the width of each column to fit the longest element
in that column</p>
</div>
</div>
<div class="summary-row">
<div class="summary-signature">
<a href="#printable/1">printable(str)</a>
</div>
<div class="summary-synopsis"><p>Returns a binary (string) version of our parameter.</p>
<h2>Examples</h2>
<pre><code class="iex elixir">iex> GithubIssues.TableFormatter.printable("a")
"a"
iex> GithubIssues.TableFormatter.printable(99)
"99"</code></pre>
</div>
</div>
<div class="summary-row">
<div class="summary-signature">
<a href="#puts_in_columns/2">puts_in_columns(data_by_columns, format)</a>
</div>
<div class="summary-synopsis"><p>Given a list containing rows of data, a list containing the header
selectors, and a format string, write the extracted data under control
of the format string</p>
</div>
</div>
<div class="summary-row">
<div class="summary-signature">
<a href="#puts_one_line_in_columns/2">puts_one_line_in_columns(fields, format)</a>
</div>
</div>
<div class="summary-row">
<div class="summary-signature">
<a href="#separator/1">separator(column_widths)</a>
</div>
<div class="summary-synopsis"><p>Generate the line that goes below the column headings. It is a string of
hyphens, with + signs where the vertical bar between columns goes.</p>
<h2>Examples</h2>
<pre><code class="iex elixir">iex> widths = [5, 6, 9]
iex> GithubIssues.TableFormatter.separator(widths)
"------+--------+----------"</code></pre>
</div>
</div>
<div class="summary-row">
<div class="summary-signature">
<a href="#split_into_columns/2">split_into_columns(rows, headers)</a>
</div>
<div class="summary-synopsis"><p>Given a list of rows, where each row contains a keyed list
of columns, return a list containing lists of the data in each column.
The <code class="inline">headers</code> parameter contains the list of columns to extract.</p>
<h2>Examples</h2>
<pre><code class="iex elixir">iex> list = [Enum.into([{"a", "1"}, {"b", "2"}, {"c", "3"}], Map.new),
...> Enum.into([{"a", "4"}, {"b", "5"}, {"c", "6"}], Map.new)]
iex> GithubIssues.TableFormatter.split_into_columns(list, ["a", "b", "c"])
[["1", "4"], ["2", "5"], ["3", "6"]]</code></pre>
</div>
</div>
<div class="summary-row">
<div class="summary-signature">
<a href="#widths_of/1">widths_of(columns)</a>
</div>
<div class="summary-synopsis"><p>Given a list containg sublists, where each sublist contains the data
for a column, return a list containing the maximum width of each column</p>
<h2>Examples</h2>
<pre><code class="iex elixir">iex> data = [["cat", "wombat", "dog"], ["elephant", "ant", "rhino"]]
iex> GithubIssues.TableFormatter.widths_of(data)
[6, 8]</code></pre>
</div>
</div>
</div>
</section>
<section id="functions" class="details-list">
<h1 class="section-heading">
<a class="hover-link" href="#functions">
<i class="icon-link"></i>
</a>
Functions
</h1>
<div class="detail" id="format_for/1">
<div class="detail-header">
<a href="#format_for/1" class="detail-link" title="Link to this function">
<i class="icon-link"></i>
</a>
<span class="signature">format_for(column_widths)</span>
<a href="https://github.com/PatNowak/GithubIssues-Elixir/blob/master/lib/GithubIssues/table_formatter.ex#L68" class="view-source" rel="help" title="View Source">
<i class="icon-code"></i>
</a>
</div>
<section class="docstring">
<p>Return a format string that hard codes the widths of a set of columns.
We put <code class="inline">"|"</code> between each column.</p>
<h2>Examples</h2>
<pre><code class="iex elixir">iex> widths = [5, 6, 99]
iex> GithubIssues.TableFormatter.format_for(widths)
"~-5s|~-6s|~-99s~n"</code></pre>
</section>
</div>
<div class="detail" id="print_table_for_columns/2">
<div class="detail-header">
<a href="#print_table_for_columns/2" class="detail-link" title="Link to this function">
<i class="icon-link"></i>
</a>
<span class="signature">print_table_for_columns(rows, headers)</span>
<a href="https://github.com/PatNowak/GithubIssues-Elixir/blob/master/lib/GithubIssues/table_formatter.ex#L11" class="view-source" rel="help" title="View Source">
<i class="icon-code"></i>
</a>
</div>
<section class="docstring">
<p>Takes a list of row data, where each row is Map, and a list of
headers. Prints a table to STDOUT of the data from each row
identified by each header. That is, each header identifies a column,
and those columns are extracted and printed from the rows.
We calculate the width of each column to fit the longest element
in that column.</p>
</section>
</div>
<div class="detail" id="printable/1">
<div class="detail-header">
<a href="#printable/1" class="detail-link" title="Link to this function">
<i class="icon-link"></i>
</a>
<span class="signature">printable(str)</span>
<a href="https://github.com/PatNowak/GithubIssues-Elixir/blob/master/lib/GithubIssues/table_formatter.ex#L44" class="view-source" rel="help" title="View Source">
<i class="icon-code"></i>
</a>
</div>
<section class="docstring">
<p>Returns a binary (string) version of our parameter.</p>
<h2>Examples</h2>
<pre><code class="iex elixir">iex> GithubIssues.TableFormatter.printable("a")
"a"
iex> GithubIssues.TableFormatter.printable(99)
"99"</code></pre>
</section>
</div>
<div class="detail" id="puts_in_columns/2">
<div class="detail-header">
<a href="#puts_in_columns/2" class="detail-link" title="Link to this function">
<i class="icon-link"></i>
</a>
<span class="signature">puts_in_columns(data_by_columns, format)</span>
<a href="https://github.com/PatNowak/GithubIssues-Elixir/blob/master/lib/GithubIssues/table_formatter.ex#L89" class="view-source" rel="help" title="View Source">
<i class="icon-code"></i>
</a>
</div>
<section class="docstring">
<p>Given a list containing rows of data, a list containing the header
selectors, and a format string, write the extracted data under control
of the format string.</p>
</section>
</div>
<div class="detail" id="puts_one_line_in_columns/2">
<div class="detail-header">
<a href="#puts_one_line_in_columns/2" class="detail-link" title="Link to this function">
<i class="icon-link"></i>
</a>
<span class="signature">puts_one_line_in_columns(fields, format)</span>
<a href="https://github.com/PatNowak/GithubIssues-Elixir/blob/master/lib/GithubIssues/table_formatter.ex#L96" class="view-source" rel="help" title="View Source">
<i class="icon-code"></i>
</a>
</div>
<section class="docstring">
</section>
</div>
<div class="detail" id="separator/1">
<div class="detail-header">
<a href="#separator/1" class="detail-link" title="Link to this function">
<i class="icon-link"></i>
</a>
<span class="signature">separator(column_widths)</span>
<a href="https://github.com/PatNowak/GithubIssues-Elixir/blob/master/lib/GithubIssues/table_formatter.ex#L80" class="view-source" rel="help" title="View Source">
<i class="icon-code"></i>
</a>
</div>
<section class="docstring">
<p>Generate the line that goes below the column headings. It is a string of
hyphens, with + signs where the vertical bar between columns goes.</p>
<h2>Examples</h2>
<pre><code class="iex elixir">iex> widths = [5, 6, 9]
iex> GithubIssues.TableFormatter.separator(widths)
"------+--------+----------"</code></pre>
</section>
</div>
<div class="detail" id="split_into_columns/2">
<div class="detail-header">
<a href="#split_into_columns/2" class="detail-link" title="Link to this function">
<i class="icon-link"></i>
</a>
<span class="signature">split_into_columns(rows, headers)</span>
<a href="https://github.com/PatNowak/GithubIssues-Elixir/blob/master/lib/GithubIssues/table_formatter.ex#L30" class="view-source" rel="help" title="View Source">
<i class="icon-code"></i>
</a>
</div>
<section class="docstring">
<p>Given a list of rows, where each row contains a keyed list
of columns, return a list containing lists of the data in each column.
The <code class="inline">headers</code> parameter contains the list of columns to extract.</p>
<h2>Examples</h2>
<pre><code class="iex elixir">iex> list = [Enum.into([{"a", "1"}, {"b", "2"}, {"c", "3"}], Map.new),
...> Enum.into([{"a", "4"}, {"b", "5"}, {"c", "6"}], Map.new)]
iex> GithubIssues.TableFormatter.split_into_columns(list, ["a", "b", "c"])
[["1", "4"], ["2", "5"], ["3", "6"]]</code></pre>
</section>
</div>
<div class="detail" id="widths_of/1">
<div class="detail-header">
<a href="#widths_of/1" class="detail-link" title="Link to this function">
<i class="icon-link"></i>
</a>
<span class="signature">widths_of(columns)</span>
<a href="https://github.com/PatNowak/GithubIssues-Elixir/blob/master/lib/GithubIssues/table_formatter.ex#L55" class="view-source" rel="help" title="View Source">
<i class="icon-code"></i>
</a>
</div>
<section class="docstring">
<p>Given a list containg sublists, where each sublist contains the data
for a column, return a list containing the maximum width of each column</p>
<h2>Examples</h2>
<pre><code class="iex elixir">iex> data = [["cat", "wombat", "dog"], ["elephant", "ant", "rhino"]]
iex> GithubIssues.TableFormatter.widths_of(data)
[6, 8]</code></pre>
</section>
</div>
</section>
<footer class="footer">
<p>
<span class="line">
Built using
<a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" rel="help" target="_blank">ExDoc</a> (v0.12.0),
</span>
<span class="line">
designed by
<a href="https://twitter.com/dignifiedquire" target="_blank" title="@dignifiedquire">Friedel Ziegelmayer</a>.
</span>
</p>
<button class="night-mode-toggle" />
</footer>
</div>
</div>
</section>
</div>
<script src="dist/app-21f1a20b9e.js"></script>
</body>
</html>