Ember.String Namespace packages/ember-runtime/lib/system/string.js:24


Defines string helper methods including string formatting and localization. Unless Ember.EXTEND_PROTOTYPES.String is false these methods will also be added to the String.prototype as well.

Show:

Methods

Show:

camelize

(str) String

Returns the lowerCamelCase form of a string.

1
2
3
4
5
'innerHTML'.camelize();          // 'innerHTML'
'action_name'.camelize();        // 'actionName'
'css-class-name'.camelize();     // 'cssClassName'
'my favorite items'.camelize();  // 'myFavoriteItems'
'My Favorite Items'.camelize();  // 'myFavoriteItems'

Parameters:

str String
The string to camelize.

Returns:

String
the camelized string.

capitalize

(str) String

Returns the Capitalized form of a string

1
2
3
4
'innerHTML'.capitalize()         // 'InnerHTML'
'action_name'.capitalize()       // 'Action_name'
'css-class-name'.capitalize()    // 'Css-class-name'
'my favorite items'.capitalize() // 'My favorite items'

Parameters:

str String
The string to capitalize.

Returns:

String
The capitalized string.

classify

(str) String

Returns the UpperCamelCase form of a string.

1
2
3
4
'innerHTML'.classify();          // 'InnerHTML'
'action_name'.classify();        // 'ActionName'
'css-class-name'.classify();     // 'CssClassName'
'my favorite items'.classify();  // 'MyFavoriteItems'

Parameters:

str String
the string to classify

Returns:

String
the classified string

dasherize

(str) String

Replaces underscores, spaces, or camelCase with dashes.

1
2
3
4
'innerHTML'.dasherize();          // 'inner-html'
'action_name'.dasherize();        // 'action-name'
'css-class-name'.dasherize();     // 'css-class-name'
'my favorite items'.dasherize();  // 'my-favorite-items'

Parameters:

str String
The string to dasherize.

Returns:

String
the dasherized string.

decamelize

(str) String

Converts a camelized string into all lower case separated by underscores.

1
2
3
4
'innerHTML'.decamelize();           // 'inner_html'
'action_name'.decamelize();        // 'action_name'
'css-class-name'.decamelize();     // 'css-class-name'
'my favorite items'.decamelize();  // 'my favorite items'

Parameters:

str String
The string to decamelize.

Returns:

String
the decamelized string.

fmt

(str, formats) String

Apply formatting options to the string. This will look for occurrences of "%@" in your string and substitute them with the arguments you pass into this method. If you want to control the specific order of replacement, you can add a number after the key as well to indicate which argument you want to insert.

Ordered insertions are most useful when building loc strings where values you need to insert may appear in different orders.

1
2
"Hello %@ %@".fmt('John', 'Doe');     // "Hello John Doe"
"Hello %@2, %@1".fmt('John', 'Doe');  // "Hello Doe, John"

Parameters:

str String
The string to format
formats Array
An array of parameters to interpolate into string.

Returns:

String
formatted string

htmlSafe

Handlebars.SafeString static

Mark a string as safe for unescaped output with Handlebars. If you return HTML from a Handlebars helper, use this function to ensure Handlebars does not escape the HTML.

1
Ember.String.htmlSafe('<div>someString</div>')

Returns:

Handlebars.SafeString
a string that will not be html escaped by Handlebars

humanize

(str) String

Returns the Humanized form of a string

Replaces underscores with spaces, and capitializes first character of string. Also strips "_id" suffixes.

1
2
'first_name'.humanize()       // 'First name'
'user_id'.humanize()          // 'User'

Parameters:

str String
The string to humanize.

Returns:

String
The humanized string.

loc

(str, formats) String

Formats the passed string, but first looks up the string in the localized strings hash. This is a convenient way to localize text. See Ember.String.fmt() for more information on formatting.

Note that it is traditional but not required to prefix localized string keys with an underscore or other character so you can easily identify localized strings.

1
2
3
4
5
6
7
Ember.STRINGS = {
  '_Hello World': 'Bonjour le monde',
  '_Hello %@ %@': 'Bonjour %@ %@'
};

Ember.String.loc("_Hello World");  // 'Bonjour le monde';
Ember.String.loc("_Hello %@ %@", ["John", "Smith"]);  // "Bonjour John Smith";

Parameters:

str String
The string to format
formats Array
Optional array of parameters to interpolate into string.

Returns:

String
formatted string

underscore

(str) String

More general than decamelize. Returns the lower_case_and_underscored form of a string.

1
2
3
4
'innerHTML'.underscore();          // 'inner_html'
'action_name'.underscore();        // 'action_name'
'css-class-name'.underscore();     // 'css_class_name'
'my favorite items'.underscore();  // 'my_favorite_items'

Parameters:

str String
The string to underscore.

Returns:

String
the underscored string.

w

(str) String

Splits a string into separate units separated by spaces, eliminating any empty strings in the process. This is a convenience method for split that is mostly useful when applied to the String.prototype.

1
2
3
4
5
6
7
Ember.String.w("alpha beta gamma").forEach(function(key) {
  console.log(key);
});

// > alpha
// > beta
// > gamma

Parameters:

str String
The string to split

Returns:

String
split string