example_files v1.0.0 ExampleFiles.Options

A GenServer that provides access to program options.

Summary

Types

t()

A set of program options

Functions

Returns the options in effect

Starts an ExampleFiles.Options process, linked to the current process, with the specified command_line_arguments

Types

t()
t() :: t

A set of program options.

Functions

options(options, timeout \\ 5000)
options(pid, timeout) :: t

Returns the options in effect.

Examples

iex> {:ok, pid} = ExampleFiles.Options.start_link([])
...> pid |> ExampleFiles.Options.options
%ExampleFiles.Options{fileglobs: ["**/*{example,Example,EXAMPLE}*"], ignore: ~w(.git/ _build/ deps/ node_modules/ tmp/), is_quiet: false, is_verbose: false}

iex> {:ok, pid} = ExampleFiles.Options.start_link(~w(foo bar* baz {qux,quux}))
...> pid |> ExampleFiles.Options.options
%ExampleFiles.Options{fileglobs: ~w({foo,baz}/**/*{example,Example,EXAMPLE}* bar*/**/*{example,Example,EXAMPLE}* {qux,quux}/**/*{example,Example,EXAMPLE}*), ignore: ~w(.git/ _build/ deps/ node_modules/ tmp/), is_quiet: false, is_verbose: false}

iex> {:ok, pid} = ExampleFiles.Options.start_link(~w(foo --ignore bar -i baz qux))
...> pid |> ExampleFiles.Options.options
%ExampleFiles.Options{fileglobs: ["{foo,qux}/**/*{example,Example,EXAMPLE}*"], ignore: ~w(bar baz), is_quiet: false, is_verbose: false}

iex> {:ok, pid} = ExampleFiles.Options.start_link(~w(--quiet --verbose))
...> pid |> ExampleFiles.Options.options
%ExampleFiles.Options{fileglobs: ["**/*{example,Example,EXAMPLE}*"], ignore: ~w(.git/ _build/ deps/ node_modules/ tmp/), is_quiet: true, is_verbose: true}

iex> {:ok, pid} = ExampleFiles.Options.start_link(~w(-q -v))
...> pid |> ExampleFiles.Options.options
%ExampleFiles.Options{fileglobs: ["**/*{example,Example,EXAMPLE}*"], ignore: ~w(.git/ _build/ deps/ node_modules/ tmp/), is_quiet: true, is_verbose: true}
start_link(arguments, options \\ [])
start_link([binary] | [[binary]], [{atom, any}]) :: GenServer.on_start

Starts an ExampleFiles.Options process, linked to the current process, with the specified command_line_arguments.

The process exits if command_line_arguments is not a list of valid command-line arguments.