home
  • Blog
  • Home
  • Projects
    • Ember
    • EmberData
    • Ember CLI
2.18
  • Packages
    • ember-data
  • Classes
    • DS.AbortError
    • DS.Adapter
    • DS.AdapterError
    • DS.AdapterPopulatedRecordArray
    • DS.BelongsToReference
    • DS.BooleanTransform
    • DS.BuildURLMixin
    • DS.ConflictError
    • DS.DateTransform
    • DS.EmbeddedRecordsMixin
    • DS.Errors
    • DS.FilteredRecordArray
    • DS.ForbiddenError
    • DS.HasManyReference
    • DS.InvalidError
    • DS.JSONAPIAdapter
    • DS.JSONAPISerializer
    • DS.JSONSerializer
    • DS.ManyArray
    • DS.Model
    • DS.NotFoundError
    • DS.NumberTransform
    • DS.PromiseArray
    • DS.PromiseManyArray
    • DS.PromiseObject
    • DS.RESTAdapter
    • DS.RESTSerializer
    • DS.RecordArray
    • DS.RecordReference
    • DS.RootState
    • DS.Serializer
    • DS.ServerError
    • DS.Store
    • DS.StringTransform
    • DS.TimeoutError
    • DS.Transform
    • DS.UnauthorizedError
    • Ember.Inflector

Class Ember.Inflector


Defined in: node_modules/ember-inflector/addon/lib/system/inflector.js:32
Module: ember-data

Inflector.Ember provides a mechanism for supplying inflection rules for your application. Ember includes a default set of inflection rules, and provides an API for providing additional rules.

Examples:

Creating an inflector with no rules.

var inflector = new Ember.Inflector();

Creating an inflector with the default ember ruleset.

var inflector = new Ember.Inflector(Ember.Inflector.defaultRules);

inflector.pluralize('cow'); //=> 'kine'
inflector.singularize('kine'); //=> 'cow'

Creating an inflector and adding rules later.

var inflector = Ember.Inflector.inflector;

inflector.pluralize('advice'); // => 'advices'
inflector.uncountable('advice');
inflector.pluralize('advice'); // => 'advice'

inflector.pluralize('formula'); // => 'formulas'
inflector.irregular('formula', 'formulae');
inflector.pluralize('formula'); // => 'formulae'

// you would not need to add these as they are the default rules
inflector.plural(/$/, 's');
inflector.singular(/s$/i, '');

Creating an inflector with a nondefault ruleset.

var rules = {
  plurals:  [
    [ /$/, 's' ]
  ],
  singular: [
    [ /\s$/, '' ]
  ],
  irregularPairs: [
    [ 'cow', 'kine' ]
  ],
  uncountable: [ 'fish' ]
};

var inflector = new Ember.Inflector(rules);


Methods

disableCache; public

Module: ember-data

Defined in node_modules/ember-inflector/addon/lib/system/inflector.js:159

enableCache public

Module: ember-data

Defined in node_modules/ember-inflector/addon/lib/system/inflector.js:125

irregular (singular, plural)

Module: ember-data

Defined in node_modules/ember-inflector/addon/lib/system/inflector.js:206

singular
String
plural
String

plural (regex, string)

Module: ember-data

Defined in node_modules/ember-inflector/addon/lib/system/inflector.js:177

regex
RegExp
string
String

pluralize (word)

Module: ember-data

Defined in node_modules/ember-inflector/addon/lib/system/inflector.js:216

word
String

purgedCache public

Module: ember-data

Defined in node_modules/ember-inflector/addon/lib/system/inflector.js:148

singular (regex, string)

Module: ember-data

Defined in node_modules/ember-inflector/addon/lib/system/inflector.js:187

regex
RegExp
string
String

singularize (word)

Module: ember-data

Defined in node_modules/ember-inflector/addon/lib/system/inflector.js:235

word
String

uncountable (regex)

Module: ember-data

Defined in node_modules/ember-inflector/addon/lib/system/inflector.js:197

regex
String
On this page


Methods

  • disableCache;
  • enableCache
  • irregular
  • plural
  • pluralize
  • purgedCache
  • singular
  • singularize
  • uncountable
Team Sponsors Security Legal Branding Community Guidelines
Twitter GitHub Discord Mastodon

If you want help you can contact us by email, open an issue, or get realtime help by joining the Ember Discord.

© Copyright 2025 - Tilde Inc.
Ember.js is free, open source and always will be.


Ember is generously supported by
blue Created with Sketch.