diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2010-06-02 16:18:03 -0500 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2010-06-02 16:18:03 -0500 |
commit | 942fe6514cc0db10c04fd2b46f8e1537beabef71 (patch) | |
tree | 8b9d057a91861756260aea7990308975305ab475 /railties/guides/source/active_support_core_extensions.textile | |
parent | 02512914ae547eb664a78c0f6084b121d5283a61 (diff) | |
parent | ffe001f19dbbd9e697f6300650779f5e1391ce1e (diff) | |
download | rails-942fe6514cc0db10c04fd2b46f8e1537beabef71.tar.gz rails-942fe6514cc0db10c04fd2b46f8e1537beabef71.tar.bz2 rails-942fe6514cc0db10c04fd2b46f8e1537beabef71.zip |
Merge branch 'master' of github.com:rails/rails
Diffstat (limited to 'railties/guides/source/active_support_core_extensions.textile')
-rw-r--r-- | railties/guides/source/active_support_core_extensions.textile | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/railties/guides/source/active_support_core_extensions.textile b/railties/guides/source/active_support_core_extensions.textile index 08fddd2926..de82e871a6 100644 --- a/railties/guides/source/active_support_core_extensions.textile +++ b/railties/guides/source/active_support_core_extensions.textile @@ -1254,6 +1254,39 @@ There's also the destructive version +String#squish!+. NOTE: Defined in +active_support/core_ext/string/filters.rb+. +h4. +truncate+ + +The method +truncate+ returns a copy of its receiver truncated after a given +length+: + +<ruby> +"Oh dear! Oh dear! I shall be late!".truncate(20) +# => "Oh dear! Oh dear!..." +</ruby> + +Ellipsis can be customized with the +:omission+ option: + +<ruby> +"Oh dear! Oh dear! I shall be late!".truncate(20, :omission => '…') +# => "Oh dear! Oh …" +</ruby> + +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(18) +# => "Oh dear! Oh dea..." +"Oh dear! Oh dear! I shall be late!".truncate(18, :separator => ' ') +# => "Oh dear! Oh..." +</ruby> + +In the above example "dear" gets cut first, but then +:separator+ prevents it. + +WARNING: The option +:separator+ can't be a regexp. + +NOTE: Defined in +active_support/core_ext/string/filters.rb+. + h4. Key-based Interpolation In Ruby 1.9 the <tt>%</tt> string operator supports key-based interpolation, both formatted and unformatted: |