Popularity
8.3
Growing
Activity
4.3
-
200
4
45

Monthly Downloads: 179,595
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

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

Add another 'Text and Numbers' Package

README

Inflex Build Status

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 repo.


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

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

To incorporate Inflex in your modules, use import.


  defmodule YourModule do
    import Inflex

    def make_singular(word), do: singularize(word)

  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.