Phoenix.Naming

Conveniences for inflecting and working with names in Phoenix.

Summary

camelize(value)

Converts String to camel case

resource_name(alias, suffix \\ "")

Extracts the resource name from an alias

underscore(value)

Converts String to underscore case

unsuffix(value, suffix)

Removes the given suffix from the name if it exists

Functions

camelize(value)

Specs:

Converts String to camel case.

Examples

iex> Phoenix.Naming.camelize("my_app")
"MyApp"

iex> Phoenix.Naming.camelize(:my_app)
"MyApp"

In general, camelize can be thought of as the reverse of underscore, however, in some cases formatting may be lost:

Phoenix.Naming.underscore "SAPExample"  #=> "sap_example"
Phoenix.Naming.camelize   "sap_example" #=> "SapExample"
resource_name(alias, suffix \\ "")

Specs:

Extracts the resource name from an alias.

Examples

iex> Phoenix.Naming.resource_name(MyApp.User)
"user"

iex> Phoenix.Naming.resource_name(MyApp.UserView, "View")
"user"
underscore(value)

Specs:

Converts String to underscore case.

Examples

iex> Phoenix.Naming.underscore("MyApp")
"my_app"

iex> Phoenix.Naming.underscore(:MyApp)
"my_app"

iex> Phoenix.Naming.underscore("my-app")
"my_app"

In general, underscore can be thought of as the reverse of camelize, however, in some cases formatting may be lost:

Phoenix.Naming.underscore "SAPExample"  #=> "sap_example"
Phoenix.Naming.camelize   "sap_example" #=> "SapExample"
unsuffix(value, suffix)

Specs:

Removes the given suffix from the name if it exists.

Examples

iex> Phoenix.Naming.unsuffix("MyApp.User", "View")
"MyApp.User"

iex> Phoenix.Naming.unsuffix("MyApp.UserView", "View")
"MyApp.User"