DarkMatter.Naming (DarkMatter v1.1.4) View Source

DarkMatter naming conventions.

Link to this section Summary

Functions

Derives the alias matter for the given module.

Derives the de matter for the given module.

Definition for reflected DarkPhoenix.Schema.

Derives the parent_module matter for the given module.

Turn a number into a snake cased elixir numeric.

Link to this section Types

Specs

t() :: %DarkMatter.Naming{
  alias: String.t(),
  alias_plural: String.t(),
  base_module: module(),
  camel_plural: String.t(),
  camel_singular: String.t(),
  human_plural: String.t(),
  human_singular: String.t(),
  module: module(),
  parent_module: module(),
  pascal_plural: String.t(),
  pascal_singular: String.t(),
  plural: String.t(),
  singular: String.t(),
  title_plural: String.t(),
  title_singular: String.t()
}

Link to this section Functions

Specs

alias_for(module()) :: String.t()

Derives the alias matter for the given module.

Examples

iex> alias_for(DarkMatter)
"DarkMatter"

iex> alias_for(DarkMatter.Inflections)
"Inflections"

Specs

base_module_for(module()) :: module()

Derives the de matter for the given module.

Examples

iex> base_module_for(DarkMatter)
DarkMatter

iex> base_module_for(DarkMatter.Inflections)
DarkMatter

iex> base_module_for(DarkMatter.Decimals.Arithmetic)
DarkMatter

Specs

cast(module()) :: t()

Definition for reflected DarkPhoenix.Schema.

Examples

iex> cast(DarkMatter)
%DarkMatter.Naming{
  alias: "DarkMatter",
  alias_plural: "DarkMatters",
  base_module: DarkMatter,
  camel_plural: "darkMatters",
  camel_singular: "darkMatter",
  human_plural: "Darkmatters",
  human_singular: "Darkmatter",
  title_plural: "Dark Matters",
  title_singular: "Dark Matter",
  module: DarkMatter,
  parent_module: DarkMatter,
  pascal_plural: "DarkMatters",
  pascal_singular: "DarkMatter",
  plural: "dark_matters",
  singular: "dark_matter"
}

iex> cast(DarkMatter.Inflections)
%DarkMatter.Naming{
  alias: "Inflections",
  alias_plural: "Inflections",
  base_module: DarkMatter,
  camel_plural: "inflections",
  camel_singular: "inflection",
  human_plural: "Inflections",
  human_singular: "Inflections",
  module: DarkMatter.Inflections,
  parent_module: DarkMatter,
  pascal_plural: "Inflections",
  pascal_singular: "Inflections",
  plural: "inflections",
  singular: "inflections",
  title_plural: "Inflections",
  title_singular: "Inflections"
}

iex> cast(Ecto.Changeset)
%DarkMatter.Naming{
  alias: "Changeset",
  alias_plural: "Changesets",
  base_module: Ecto,
  camel_plural: "changesets",
  camel_singular: "changeset",
  human_plural: "Changesets",
  human_singular: "Changeset",
  title_plural: "Changesets",
  title_singular: "Changeset",
  module: Ecto.Changeset,
  parent_module: Ecto,
  pascal_plural: "Changesets",
  pascal_singular: "Changeset",
  plural: "changesets",
  singular: "changeset"
}
Link to this function

parent_module_for(module)

View Source

Specs

parent_module_for(module()) :: module()

Derives the parent_module matter for the given module.

Examples

iex> parent_module_for(DarkMatter)
DarkMatter

iex> parent_module_for(DarkMatter.Inflections)
DarkMatter

iex> parent_module_for(DarkMatter.Decimals.Arithmetic)
DarkMatter.Decimals
Link to this function

underscore_number(number)

View Source

Specs

underscore_number(number() | String.t()) :: String.t()

Turn a number into a snake cased elixir numeric.

Examples

iex> underscore_number(1)
"1"

iex> underscore_number(100)
"100"

iex> underscore_number(1000)
"1_000"

iex> underscore_number(100000)
"100_000"

iex> underscore_number(100000000)
"100_000_000"