Shun.Preset behaviour (Shun v1.0.2) View Source

Specifies how additional reusable rules are provided.

Modules that implement this behaviour can be used with Shun.Builder.accept/1, Shun.Builder.reject/1 or Shun.Builder.handle/2. If modules implement a default handler function then they can be used with Shun.Builder.handle/1 as well.

Link to this section Summary

Callbacks

Returns a list of Rules (Shun.Rule.t/0) for use in Provider modules at compile-time.

Link to this section Callbacks

Specs

rules(:accept) :: [Shun.Rule.t()]
rules(:reject) :: [Shun.Rule.t()]
rules(:handle) :: [Shun.Rule.t()]

Returns a list of Rules (Shun.Rule.t/0) for use in Provider modules at compile-time.

Rules can be built by using convenience functions in Shun.Rule.

If you need to implement dynamic rules that query external resources, you should use Shun.Builder.handle/2 and pass the function reference.

Specs

rules(:handle, Shun.Rule.handle_fun()) :: [Shun.Rule.t()]