summaryrefslogtreecommitdiffstats
path: root/app/helpers/application_helper.rb
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2012-08-18 08:25:22 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2012-08-18 08:25:22 +0000
commitfc3a09e49a692ce2307e78cd414242abd2c31e7d (patch)
treed7c00cb16d12d9ecf5f697d73812d2477612a97c /app/helpers/application_helper.rb
parent73aece0bafb918468d89c00550aaaed35c1d2efb (diff)
downloadredmine-fc3a09e49a692ce2307e78cd414242abd2c31e7d.tar.gz
redmine-fc3a09e49a692ce2307e78cd414242abd2c31e7d.zip
Let macros optionally accept a block of text (#3061).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10210 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/helpers/application_helper.rb')
-rw-r--r--app/helpers/application_helper.rb9
1 files changed, 5 insertions, 4 deletions
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 74032496f..cfa9cb5ab 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -866,10 +866,11 @@ module ApplicationHelper
(
\{\{ # opening tag
([\w]+) # macro name
- (\((.*?)\))? # optional arguments
+ (\(([^\n\r]*?)\))? # optional arguments
+ ([\n\r].*[\n\r])? # optional block of text
\}\} # closing tag
)
- )/x unless const_defined?(:MACROS_RE)
+ )/mx unless const_defined?(:MACROS_RE)
MACRO_SUB_RE = /(
\{\{
@@ -899,9 +900,9 @@ module ApplicationHelper
all, index = $1, $2.to_i
orig = macros.delete(index)
if execute && orig && orig =~ MACROS_RE
- esc, all, macro, args = $2, $3, $4.downcase, $6.to_s
+ esc, all, macro, args, block = $2, $3, $4.downcase, $6.to_s, $7.try(:strip)
if esc.nil?
- h(exec_macro(macro, obj, args) || all)
+ h(exec_macro(macro, obj, args, block) || all)
else
h(all)
end