View Source ExTeal.Naming (ExTeal v0.27.0)
Conveniences for inflecting and working with names in ExTeal.
Summary
Functions
Converts String to camel case.
Converts an attribute/form field into its humanize version.
Extracts the resource name from an alias.
Converts String to underscore case.
Removes the given suffix from the name if it exists.
Functions
Converts String to camel case.
Takes an optional :lower
option to return lowerCamelCase.
Examples
iex> ExTeal.Naming.camelize("my_app")
"MyApp"
iex> ExTeal.Naming.camelize("my_app", :lower)
"myApp"
In general, camelize
can be thought of as the reverse of
underscore
, however, in some cases formatting may be lost:
ExTeal.Naming.underscore "SAPExample" #=> "sap_example"
ExTeal.Naming.camelize "sap_example" #=> "SapExample"
Converts an attribute/form field into its humanize version.
iex> ExTeal.Naming.humanize(:username)
"Username"
iex> ExTeal.Naming.humanize(:created_at)
"Created at"
iex> ExTeal.Naming.humanize("user_id")
"User"
@spec resource_name(String.Chars.t(), String.t()) :: String.t()
Extracts the resource name from an alias.
Examples
iex> ExTeal.Naming.resource_name(MyApp.User)
"user"
iex> ExTeal.Naming.resource_name(MyApp.UserView, "View")
"user"
Converts String to underscore case.
Examples
iex> ExTeal.Naming.underscore("MyApp")
"my_app"
In general, underscore
can be thought of as the reverse of
camelize
, however, in some cases formatting may be lost:
ExTeal.Naming.underscore "SAPExample" #=> "sap_example"
ExTeal.Naming.camelize "sap_example" #=> "SapExample"
Removes the given suffix from the name if it exists.
Examples
iex> ExTeal.Naming.unsuffix("MyApp.User", "View")
"MyApp.User"
iex> ExTeal.Naming.unsuffix("MyApp.UserView", "View")
"MyApp.User"