GitHooks.Tasks.MFA (git_hooks v0.8.1)

View Source

Represents a {module, function, arity} (a.k.a. mfa) that will be evaluated by the Kernel module.

An mfa should be configured as {module, function}. The function of the module will always receive the hook arguments as a list of argument and the arity is expected to always be 1.

See Elixir documentation for more information.

For example:

config :git_hooks,
  hooks: [
    pre_commit: [
      {MyModule, :my_function}
    ]
  ]

Summary

Types

t()

Represents an mfa to be executed.

Functions

Creates a new mfa struct.

Types

t()

@type t() :: %GitHooks.Tasks.MFA{
  args: [any()],
  function: atom(),
  module: atom(),
  result: term()
}

Represents an mfa to be executed.

Functions

new(arg, git_hook_type, git_hook_args)

This function is deprecated. Use mfa without arity, all functions are expected to have arity 1 and receive a list with the git hook args.
@spec new(
  mfa() | {module(), atom()},
  GitHooks.git_hook_type(),
  GitHooks.git_hook_args()
) :: t()

Creates a new mfa struct.

Examples

iex> Elixir.GitHooks.Tasks.MFA.new({MyModule, :my_function}, :pre_commit, ["commit message"])
%Elixir.GitHooks.Tasks.MFA{module: MyModule, function: :my_function, args: ["commit message"]}