From 0a6f936626f4af6857bdbdd9a13a4b8afb513d01 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sun, 21 Jun 2015 16:29:25 +0000 Subject: [PATCH] Updates #wiki_format_provider plugin API with changes to wiki formatting (#20141). git-svn-id: http://svn.redmine.org/redmine/trunk@14363 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- lib/redmine/plugin.rb | 15 +++++++++++---- lib/redmine/wiki_formatting.rb | 4 +++- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/lib/redmine/plugin.rb b/lib/redmine/plugin.rb index c84e89f0c..d41d8eda7 100644 --- a/lib/redmine/plugin.rb +++ b/lib/redmine/plugin.rb @@ -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. diff --git a/lib/redmine/wiki_formatting.rb b/lib/redmine/wiki_formatting.rb index 4fd5ea8e8..45d5cc74b 100644 --- a/lib/redmine/wiki_formatting.rb +++ b/lib/redmine/wiki_formatting.rb @@ -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, -- 2.39.5