diff options
author | Mauricio Gomez Aguinaga <mgomezaguinaga@groupon.com> | 2015-08-11 14:15:47 -0700 |
---|---|---|
committer | Mauricio Gomez Aguinaga <mgomezaguinaga@groupon.com> | 2015-08-11 14:15:47 -0700 |
commit | cf93c6ae48cad47fda5c864c8b7b232f88bec088 (patch) | |
tree | f2d488df3d876f1503cbec7e5776a50147d08a02 /actionview/lib | |
parent | c18f81975c36961b053224c7aad4bce737373601 (diff) | |
download | rails-cf93c6ae48cad47fda5c864c8b7b232f88bec088.tar.gz rails-cf93c6ae48cad47fda5c864c8b7b232f88bec088.tar.bz2 rails-cf93c6ae48cad47fda5c864c8b7b232f88bec088.zip |
Sometimes you need a specific break sequence while using word wrap and as today the only option we have is "\n" and is hardcoded.
With this change you will be able to specify any break sequence ("\r\n" for example) as an option.
adding proper documentation for break_sequence in ActionView::Helpers::TextHelper.word_wrap
adding some more documentation for word_wrap custom break sequence and making sure we use new hash syntax
Diffstat (limited to 'actionview/lib')
-rw-r--r-- | actionview/lib/action_view/helpers/text_helper.rb | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/actionview/lib/action_view/helpers/text_helper.rb b/actionview/lib/action_view/helpers/text_helper.rb index 6a3d01667d..432693bc23 100644 --- a/actionview/lib/action_view/helpers/text_helper.rb +++ b/actionview/lib/action_view/helpers/text_helper.rb @@ -250,12 +250,15 @@ module ActionView # # word_wrap('Once upon a time', line_width: 1) # # => Once\nupon\na\ntime - def word_wrap(text, options = {}) - line_width = options.fetch(:line_width, 80) - + # + # You can also specify a custom +break_sequence+ ("\n" by default) + # + # word_wrap('Once upon a time', line_width: 1, break_sequence: "\r\n") + # # => Once\r\nupon\r\na\r\ntime + def word_wrap(text, line_width: 80, break_sequence: "\n") text.split("\n").collect! do |line| - line.length > line_width ? line.gsub(/(.{1,#{line_width}})(\s+|$)/, "\\1\n").strip : line - end * "\n" + line.length > line_width ? line.gsub(/(.{1,#{line_width}})(\s+|$)/, "\\1#{break_sequence}").strip : line + end * break_sequence end # Returns +text+ transformed into HTML using simple formatting rules. |