Despamilator.Filter behaviour (Despamilator v2.1.5)

Copy Markdown View Source

Behaviour every filter must implement.

Example

defmodule Despamilator.Filter.DetectLetterA do
  use Despamilator.Filter,
    name: "Detecting the letter A",
    description: ~s(Detects the letter "a" for demo purposes)

  alias Despamilator.Subject

  @impl true
  def parse(%Subject{} = subject) do
    if String.contains?(String.downcase(subject.text), "a") do
      Subject.register_match(subject, __MODULE__, 0.1)
    else
      subject
    end
  end
end

Summary

Callbacks

description()

@callback description() :: String.t()

name()

@callback name() :: String.t()

parse(t)