As of 2017-11-07, this gem has merged with Dry::Inflector
.
Dry::Inflector
and Flexus
were overlapping.
The developers of both gems decided to join efforts for a greater good.
See: https://github.com/dry-rb/dry-inflector
So, as soon as you can, migrate your code to Dry::Inflector
.
The migration should be easy and smooth.
This gem is a resurrection of inflecto
Inflecto is a standalone inflector ripped out from dm-core
The dm-core inflector originated from extlib
The extlib inflecto originated from active_support
Remove inflecto and add flexus to your Gemfile.
gem 'flexus', '~> 1.0.0'
At your code, change all Inflecto
references to Flexus
and it should work out of the box for flexus version 1.0.0. Please report any issues.
Flexus will try the best to respect semantic versioning as http://semver.org/ So, expect api breaking changes on major version releases.
We'll make pre release gems for 2.0.0 version. To experiment with that you should add this to your Gemfile.
gem 'flexus', '>= 2.0.0.beta'
require 'flexus'
Flexus.underscore("CamelCase")
# => "camel_case"
inflector = Flexus.new
# This loads reasonably good defaults to english language
# singularization and pluralization.
inflector.load_defaults
inflector.pluralize("tomato")
# => "tomatoes"
# You can override rules on a per instance base
inflector.inflections do |inflect|
inflect.plural(/(tomat)o\z/i, '\1ozechies')
end
inflector.pluralize("tomato")
# => "tomatozechies"
Flexus.pluralize("tomato")
# => "tomatoes" # <- Still default pluralization
The rails, merb & datamapper team
The original gem was extracted and maintained by Markus Schirp (mbj) with help from indrekj.
Current maintainers: Andrii Savchenko Ptico and Abinoam P. Marques Jr. abinoam
See LICENSE.txt for details