NLdoc.Spec.Footnote (NLdoc.Spec v3.1.1)

View Source

This module defines the Ecto schema for the NLdoc spec Footnote object.

Summary

Functions

This function creates a new NLdoc.Spec.Footnote struct from a map of keys and values, where the keys are snake_case. Returns a tuple with either {:ok, footnote} or {:error, changeset}.

This function creates a new NLdoc.Spec.Footnote struct from a map of keys and values, where the keys are snake_case. Returns the footnote} object or raises an Ecto.CastError.

This validation function can be used in changeset/2 implementations to ensure that the value for a specific field is a valid URL.

Types

t()

@type t() :: %NLdoc.Spec.Footnote{
  children: [NLdoc.Spec.document_child()],
  descriptors: [NLdoc.Spec.descriptor()],
  id: Ecto.UUID.t(),
  type: String.t()
}

validate_url_opt()

@type validate_url_opt() :: {:message, String.t()} | {:allow_relative, boolean()}

Functions

changeset(object, attrs)

@spec changeset(
  struct(),
  map()
) :: Ecto.Changeset.t()

new(template \\ %{type: "https://spec.nldoc.nl/Resource/Footnote"})

@spec new(map()) :: {:ok, t()} | {:error, Ecto.Changeset.t()}

This function creates a new NLdoc.Spec.Footnote struct from a map of keys and values, where the keys are snake_case. Returns a tuple with either {:ok, footnote} or {:error, changeset}.

Note: If you want to use a map with camelCase keys, use NLdoc.Util.Recase.to_snake/1 to convert them to snake_case before passing them to the constructor.

new!(template \\ %{type: "https://spec.nldoc.nl/Resource/Footnote"})

@spec new!(map()) :: t()

This function creates a new NLdoc.Spec.Footnote struct from a map of keys and values, where the keys are snake_case. Returns the footnote} object or raises an Ecto.CastError.

Note: If you want to use a map with camelCase keys, use NLdoc.Util.Recase.to_snake/1 to convert them to snake_case before passing them to the constructor.

resource_type()

validate_url(changeset, field, opts \\ [])

@spec validate_url(Ecto.Changeset.t(), atom(), [validate_url_opt()]) ::
  Ecto.Changeset.t()

This validation function can be used in changeset/2 implementations to ensure that the value for a specific field is a valid URL.

Options

  • :message - The error message to use when the URL is invalid.
  • :allow_relative - If set to true, relative URLs are allowed. Default is false.