Popularity
8.5
Stable
Activity
1.8
Growing
357
5
53

Monthly Downloads: 745,729
Programming language: Elixir
License: Apache License 2.0
Tags: Text And Numbers    
Latest version: v1.4.1

inflex alternatives and similar packages

Based on the "Text and Numbers" category.
Alternatively, view inflex alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of inflex or a related project?

Add another 'Text and Numbers' Package

README

Inflex

<!-- MDOC !-->

Build Status Module Version Hex Docs Total Download License Last Updated

An Elixir library for handling word inflections.

Getting Started

You can add Inflex as a dependency in your mix.exs file. Since it only requires Elixir and Erlang there are no other dependencies.

def deps do
  [
    {:inflex, "~> 2.0.0"}
  ]
end

If you are not using hex you can add the dependency using the GitHub repository.

def deps do
  [
    {:inflex, github: "nurugger07/inflex"}
  ]
end

Then run mix deps.get in the shell to fetch and compile the dependencies.

Requirements

Although Inflex supports Elixir 1.6, which is compatible with Erlang/OTP 19–20, Inflex requires Erlang/OTP 20+.

To incorporate Inflex in your modules, use import.

defmodule Blog do
  import Inflex

  def greeting(count), do: "You are the #{ordinalize(count)} visitor!"

end

Examples

Singularize & Pluralize

Here are some basic examples from iex:


iex(1)> Inflex.singularize("dogs")
"dog"

iex(2)> Inflex.pluralize("dog")
"dogs"

iex(3)> Inflex.singularize("people")
"person"

iex(4)> Inflex.pluralize("person")
"people"

Some other special cases are handled for nouns ending in -o and -y

iex(1)> Inflex.pluralize("piano")
"pianos"

iex(2)> Inflex.pluralize("hero")
"heroes"

iex(3)> Inflex.pluralize("butterfly")
"butterflies"

iex(4)> Inflex.pluralize("monkey")
"monkeys"

Inflect

iex(1)> Inflex.inflect("child", 1)
"child"

iex(2)> Inflex.inflect("child", 2)
"children"

Camelize & Pascalize

Inflex also camelizes or pascalizes strings and atoms.

iex(1)> Inflex.camelize(:upper_camel_case)
"UpperCamelCase"

iex(2)> Inflex.camelize("pascal-case", :lower)
"pascalCase"

Parameterize

Strings can be parameterized easily.

iex(1)> Inflex.parameterize("String for parameter")
"string-for-parameter"

iex(2)> Inflex.parameterize("String with underscore", "_")
"string_with_underscore"

Underscore

Makes an underscored, lowercase form from a string or atom.

iex(1)> Inflex.underscore("UpperCamelCase")
"upper_camel_case"

iex(2)> Inflex.underscore("pascalCase")
"pascal_case"

iex(3)> Inflex.underscore(UpperCamelCase)
"upper_camel_case"

iex(4)> Inflex.underscore(:pascalCase)
"pascal_case"

Contributing

All pull requests will be reviewed for inclusion but must include tests.

License

Copyright (c) 2013 Johnny Winn

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


*Note that all licence references and agreements mentioned in the inflex README section above are relevant to that project's source code only.