aboutsummaryrefslogtreecommitdiffstats
path: root/guides
diff options
context:
space:
mode:
authorRashmi Yadav <rays.rashmi@gmail.com>2014-08-24 01:31:37 +0200
committerRashmi Yadav <rays.rashmi@gmail.com>2014-08-24 01:31:37 +0200
commit10db166aef3ac99183b8360512f62a1a2685ae40 (patch)
tree08e381ee00e2970f6cba5a56ff01e46a210a54b0 /guides
parent078cc10d31ee39fa8960e6f491dbea3b368cbec7 (diff)
downloadrails-10db166aef3ac99183b8360512f62a1a2685ae40.tar.gz
rails-10db166aef3ac99183b8360512f62a1a2685ae40.tar.bz2
rails-10db166aef3ac99183b8360512f62a1a2685ae40.zip
[ci skip] document truncate_words
Diffstat (limited to 'guides')
-rw-r--r--guides/source/active_support_core_extensions.md33
1 files changed, 33 insertions, 0 deletions
diff --git a/guides/source/active_support_core_extensions.md b/guides/source/active_support_core_extensions.md
index 08b46c62eb..0bdbf1d696 100644
--- a/guides/source/active_support_core_extensions.md
+++ b/guides/source/active_support_core_extensions.md
@@ -1310,6 +1310,39 @@ In above examples "dear" gets cut first, but then `:separator` prevents it.
NOTE: Defined in `active_support/core_ext/string/filters.rb`.
+### `truncate_words`
+
+The method `truncate_words` returns a copy of its receiver truncated after a given number of `words`:
+
+```ruby
+"Oh dear! Oh dear! I shall be late!".truncate_words(4)
+# => "Oh dear! Oh dear!..."
+```
+Ellipsis can be customized with the `:omission` option:
+
+```ruby
+"Oh dear! Oh dear! I shall be late!".truncate_words(4, omission: '&hellip;')
+# => "Oh dear! Oh dear!&hellip;"
+```
+
+Note in particular that truncation takes into account the length of the omission string.
+
+Pass a `:separator` to truncate the string at a natural break:
+
+```ruby
+"Oh dear! Oh dear! I shall be late!".truncate_words(4, separator: ' ')
+# => "Oh dear! Oh dear!..."
+```
+
+The option `:separator` can be a regexp:
+
+```ruby
+"Oh dear! Oh dear! I shall be late!".truncate_words(4, separator: /\s/)
+# => "Oh dear! Oh dear!..."
+```
+
+NOTE: Defined in `active_support/core_ext/string/filters.rb`.
+
### `inquiry`
The `inquiry` method converts a string into a `StringInquirer` object making equality checks prettier.