diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/redmine/wiki_formatting.rb | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/redmine/wiki_formatting.rb b/lib/redmine/wiki_formatting.rb index 9a62bf6b8..748e366e7 100644 --- a/lib/redmine/wiki_formatting.rb +++ b/lib/redmine/wiki_formatting.rb @@ -28,9 +28,14 @@ module Redmine yield self end - def register(name, formatter, helper) - raise ArgumentError, "format name '#{name}' is already taken" if @@formatters[name.to_s] - @@formatters[name.to_s] = {:formatter => formatter, :helper => helper} + def register(name, formatter, helper, options={}) + name = name.to_s + raise ArgumentError, "format name '#{name}' is already taken" if @@formatters[name] + @@formatters[name] = { + :formatter => formatter, + :helper => helper, + :label => options[:label] || name.humanize + } end def formatter @@ -51,6 +56,10 @@ module Redmine @@formatters.keys.map end + def formats_for_select + @@formatters.map {|name, options| [options[:label], name]} + end + def to_html(format, text, options = {}) text = if Setting.cache_formatted_text? && text.size > 2.kilobyte && cache_store && cache_key = cache_key_for(format, text, options[:object], options[:attribute]) # Text retrieved from the cache store may be frozen |