posexional v0.1.1 Posexional.File

a Posexional.File is the main struct to manage a positional file

Summary

Functions

find_row(file, name)

Specs

find_row(%Posexional.File{rows: term, separator: term}, atom) :: %Posexional.Row{fields: term, name: term, row_guesser: term, separator: term}
get_counters(file)

Specs

get_counters(%Posexional.File{rows: term, separator: term}) :: [{atom, pid}]
manage_counters(file)

Specs

manage_counters(%Posexional.File{rows: term, separator: term}) :: %Posexional.File{rows: term, separator: term}

adds a generator for every progressive_number_field in the file.

The fields are grouped by name, so that you can specify many counters for every row

new(rows, separator \\ nil)
read(file, content)

Specs

read(%Posexional.File{rows: term, separator: term}, binary) :: Keyword.t
write(file, values)

Specs

write(%Posexional.File{rows: term, separator: term}, Keyword.t) :: binary

creates a file from values

Examples

iex> Posexional.File.write(
...>   Posexional.File.new([ Posexional.Row.new(:row_test, [ Posexional.Field.Value.new(:test1, 5) ]) ]),
...>   [row_test: [test1: "test"], row_test: [test1: "t"]]
...> )
"test \nt    "

iex> Posexional.File.write(
...>   Posexional.File.new([ Posexional.Row.new(:row_test, [ Posexional.Field.Value.new(:test1, 5) ]) ]),
...>   [row_test: [test1: "test"], ne: [test1: "t"]]
...> )
** (RuntimeError) row ne not found
write_path!(file, values, path)

Specs

write_path!(%Posexional.File{rows: term, separator: term}, Keyword.t, binary) :: binary