cristianoc72/pluralizer

Pluralize library

1.1 2019-05-20 05:51 UTC

This package is auto-updated.

Last update: 2024-03-20 16:59:56 UTC


README

Build Status Maintainability Test Coverage StyleCI License: MIT

Pluralizer is a pluralize/singularize library, extracted from Propel Orm codebase.

Install

Via Composer

$ composer require cristianoc72/pluralizer

Usage

The library exposes two methods: getPluralForm, which transforms a word from singular to plural, and getSinguarForm doing the opposite.

$pluralizer = new cristianoc72\Pluralizer();

$plural = $pluralizer->getPluralForm('Author');
echo $plural; // Authors

$singular = $pluralizer->getSingularForm('Books');
echo $singular; // Book

The library can transform the most common irregular words:

$pluralizer = new cristianoc72\Pluralizer();

$plural = $pluralizer->getPluralForm('tooth');
echo $plural; // teeth

Besides, the library exposes two checker method isPlural and isSingular:

$pluralizer = new cristianoc72\Pluralizer();

var_dump($pluralizer->isPlural('Author'); // (bool) false

var_dump($pluralizer->isPlural('Books'));  // (bool) true

Testing

Simply run:

$ vendor/bin/phpunit

A directory coverage will be automatically created and it contains the code coverage report.

Contributing

Contributions are welcome and will be fully credited.

We accept contributions via Pull Requests on Github.

When you submit a Pull Request, please follow this recommendations:

  • PSR-2 Coding Standard - Check the code style and fix it via Php CS Fixer

  • Add tests! - Your patch won't be accepted if it doesn't have tests.

  • Document any change in behaviour - Make sure the README.md is kept up-to-date.

  • Send coherent history - Make sure each individual commit in your pull request is meaningful. If you had to make multiple intermediate commits while developing, please squash them before submitting.

Versions

  • 0.x: Developmnet versions. v0.5 can be considered stable. PHP 5.6 support.
  • 1.x: Stable versions. PHP >= 7.1

Credits

License

The MIT License (MIT). Please see License File for more information.