View Source GitHooks.Tasks.MFA (git_hooks v0.7.4)

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, arity}. The function of the module will always receive the hook arguments and the arity is expected to match the same number to avoid any unexpected behaviour.

See Elixir documentation for more information.

For example:

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

Summary

Types

t()

Represents an mfa to be executed.

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)

@spec new(mfa(), GitHooks.git_hook_type(), GitHooks.git_hook_args()) :: t()

Creates a new mfa struct.

Examples

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