Packages

Fault injection library in Elixir

Current section

Files

Jump to
faultex lib faultex.ex
Raw

lib/faultex.ex

defmodule Faultex do
@moduledoc """
"""
defmacro __using__(opts) do
quote bind_quoted: [opts: opts] do
injectors = Keyword.get(opts, :injectors, [])
Module.put_attribute(__MODULE__, :__faultex_injectors__, injectors)
@before_compile Faultex.Matcher
end
end
def inject(%Faultex.Injector.FaultInjector{} = injector) do
Faultex.Injector.FaultInjector.inject(injector)
end
def inject(%Faultex.Injector.SlowInjector{} = injector) do
Faultex.Injector.SlowInjector.inject(injector)
end
def inject(%Faultex.Injector.RejectInjector{} = injector) do
Faultex.Injector.SlowInjector.inject(injector)
end
end