ExGuard v0.0.4 ExGuard.Guard

Users use functions in this module to build config files.

guard("test")
|> command("mix text --color")
|> watch(~r{\.(ex|exs)$})
|> notification(:auto)

Summary

Functions

Sets command for given guard config

Executes the command for a guard config

Creates ExGuard config

It can be used to exclude files and directories from the set of files being watched

Sets notification for given guard config. By default notification is on

notifies the result

Sets watch pattern for given guard config

Functions

command(guard_struct, cmd)

Sets command for given guard config.

guard("test")
|> command("mix text --color")
execute(arg)

Executes the command for a guard config.

If files is a list, append them to guard.cmd and executes it.

guard(title)

Creates ExGuard config.

guard("test")
ignore(guard_struct, ignore_rule)

It can be used to exclude files and directories from the set of files being watched.

guard("text files")
|> ignore(~r/\.txt$/)
notification(guard_struct, atom)

Sets notification for given guard config. By default notification is on.

guard("test")
|> notification(:auto)

To turn off the notification set it to :off

guard("not notification")
|> notification(:off)
notify(arg)

notifies the result

watch(guard_struct, watch)

Sets watch pattern for given guard config.

To watch all Elixir and Erlang files set:

guard("Elixir/Erlang files")
|> watch(~r{\\.(erl|ex|exs|eex|xrl|yrl)\\z}i)

To only execute the command for specific files use:

guard("execute specific tests")
|> watch({~r{lib/(?<dir>.+)/(?<file>.+).ex$}, fn(m) -> "test/#{m["dir"]}/#{m["file"]}_test.exs" end})