From 2b617783ad37e1f008499ba8389f50d67e7b78b1 Mon Sep 17 00:00:00 2001 From: Jan Szumiec <jan.szumiec@gmail.com> Date: Wed, 7 Aug 2013 13:14:28 +0100 Subject: excerpt() now accepts regular expression instances as phrases. --- actionview/lib/action_view/helpers/text_helper.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'actionview/lib') diff --git a/actionview/lib/action_view/helpers/text_helper.rb b/actionview/lib/action_view/helpers/text_helper.rb index 7cfbca5b6f..2109b2724c 100644 --- a/actionview/lib/action_view/helpers/text_helper.rb +++ b/actionview/lib/action_view/helpers/text_helper.rb @@ -155,9 +155,13 @@ module ActionView def excerpt(text, phrase, options = {}) return unless text && phrase - separator = options[:separator] || '' - phrase = Regexp.escape(phrase) - regex = /#{phrase}/i + separator = options.fetch(:separator, nil) || "" + if Regexp === phrase + regex = phrase + else + phrase = Regexp.escape(phrase) + regex = /#{phrase}/i + end return unless matches = text.match(regex) phrase = matches[0] -- cgit v1.2.3