diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2012-08-18 08:25:22 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2012-08-18 08:25:22 +0000 |
commit | fc3a09e49a692ce2307e78cd414242abd2c31e7d (patch) | |
tree | d7c00cb16d12d9ecf5f697d73812d2477612a97c /app/helpers/application_helper.rb | |
parent | 73aece0bafb918468d89c00550aaaed35c1d2efb (diff) | |
download | redmine-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.rb | 9 |
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 |