diff lib/redmine/wiki_formatting.rb @ 1517:dffacf8a6908 redmine-2.5

Update to Redmine SVN revision 13367 on 2.5-stable branch
author Chris Cannam
date Tue, 09 Sep 2014 09:29:00 +0100
parents e248c7af89ec
children
line wrap: on
line diff
--- a/lib/redmine/wiki_formatting.rb	Tue Sep 09 09:28:31 2014 +0100
+++ b/lib/redmine/wiki_formatting.rb	Tue Sep 09 09:29:00 2014 +0100
@@ -28,9 +28,14 @@
         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 @@
         @@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