example_files v1.0.0 ExampleFiles.Fileglobs

Converts filespecs into example-file fileglobs.

Summary

Functions

Converts the specified filespec or List of zero or more filespecs into a List of one or more fileglob expressions. The resultant fileglob expressions are suitable for finding example files with Path.wildcard/1

Functions

parse(filespecs)
parse([binary]) :: [binary]

Converts the specified filespec or List of zero or more filespecs into a List of one or more fileglob expressions. The resultant fileglob expressions are suitable for finding example files with Path.wildcard/1.

Examples

iex> [] |> ExampleFiles.Fileglobs.parse
["**/*{example,Example,EXAMPLE}*"]

iex> ["foo"] |> ExampleFiles.Fileglobs.parse
["foo/**/*{example,Example,EXAMPLE}*"]

iex> ~w(foo bar) |> ExampleFiles.Fileglobs.parse
["{foo,bar}/**/*{example,Example,EXAMPLE}*"]

iex> ~w(foo* ba?) |> ExampleFiles.Fileglobs.parse
~w(foo*/**/*{example,Example,EXAMPLE}* ba?/**/*{example,Example,EXAMPLE}*)

iex> ~w(foo bar* baz qu*x) |> ExampleFiles.Fileglobs.parse
~w({foo,baz}/**/*{example,Example,EXAMPLE}* bar*/**/*{example,Example,EXAMPLE}* qu*x/**/*{example,Example,EXAMPLE}*)

iex> ~w(foo {bar,baz} qux qu?x) |> ExampleFiles.Fileglobs.parse
~w({foo,qux}/**/*{example,Example,EXAMPLE}* {bar,baz}/**/*{example,Example,EXAMPLE}* qu?x/**/*{example,Example,EXAMPLE}*)

iex> ~w(foo ba[rz] qux qu?x) |> ExampleFiles.Fileglobs.parse
~w({foo,qux}/**/*{example,Example,EXAMPLE}* ba[rz]/**/*{example,Example,EXAMPLE}* qu?x/**/*{example,Example,EXAMPLE}*)