]> source.dussan.org Git - redmine.git/commitdiff
Updates #wiki_format_provider plugin API with changes to wiki formatting (#20141).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 21 Jun 2015 16:29:25 +0000 (16:29 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 21 Jun 2015 16:29:25 +0000 (16:29 +0000)
git-svn-id: http://svn.redmine.org/redmine/trunk@14363 e93f8b46-1217-0410-a6f0-8f06a7374b81

lib/redmine/plugin.rb
lib/redmine/wiki_formatting.rb

index c84e89f0c11b77a6ce2e56347f23d17bd603b8c3..d41d8eda739c94891c31197819a388adaf328dc3 100644 (file)
@@ -359,11 +359,18 @@ module Redmine #:nodoc:
     # Registers a wiki formatter.
     #
     # Parameters:
-    # * +name+ - human-readable name
+    # * +name+ - formatter name
     # * +formatter+ - formatter class, which should have an instance method +to_html+
-    # * +helper+ - helper module, which will be included by wiki pages
-    def wiki_format_provider(name, formatter, helper)
-      Redmine::WikiFormatting.register(name, formatter, helper)
+    # * +helper+ - helper module, which will be included by wiki pages (optional)
+    # * +html_parser+ class reponsible for converting HTML to wiki text (optional)
+    # * +options+ - a Hash of options (optional)
+    #   * :label - label for the formatter displayed in application settings
+    #
+    # Examples:
+    #   wiki_format_provider(:custom_formatter, CustomFormatter, :label => "My custom formatter") 
+    #
+    def wiki_format_provider(name, *args)
+      Redmine::WikiFormatting.register(name, *args)
     end
 
     # Returns +true+ if the plugin can be configured.
index 4fd5ea8e8b87cd4e3f83dc9c6f969c9f11752869..45d5cc74b54402ebd1252c5e0350a01def4d2a5a 100644 (file)
@@ -35,7 +35,9 @@ module Redmine
 
         formatter, helper, parser = args.any? ?
           args :
-          %w(Formatter Helper HtmlParser).map {|m| "Redmine::WikiFormatting::#{name.classify}::#{m}".constantize}
+          %w(Formatter Helper HtmlParser).map {|m| "Redmine::WikiFormatting::#{name.classify}::#{m}".constantize rescue nil}
+
+        raise "A formatter class is required" if formatter.nil? 
 
         @@formatters[name] = {
           :formatter => formatter,