doc/plugin/listpluginparameters.rb in webgen-0.3.8 vs doc/plugin/listpluginparameters.rb in webgen-0.4.0
- old
+ new
@@ -1,39 +1,37 @@
require 'set'
-module WebgenDocuPlugins
+class ListPluginParametersTag < Tags::DefaultTag
- class ListPluginParametersTag < Tags::DefaultTag
+ infos( :name => 'WebgenDocu/PluginParameterRefTag',
+ :summary => "Lists all available plugin parameters"
+ )
- summary "Lists all available plugin parameters"
+ register_tag 'listPluginParameters'
- tag 'listPluginParameters'
+ def initialize( plugin_manager )
+ super
+ @process_output = false
+ end
- def initialize
- super
- @processOutput = false
+ def process_tag( tag, chain )
+ plugins = @plugin_manager.plugins.select {|k,v| k !~ /^WebgenDocu/ }
+
+ mydata = {}
+ plugins.each do |name, plugin|
+ next if plugin.class.config.params.empty?
+ (mydata[name[/^.*?(?=\/)/].gsub(/([A-Z][a-z])/, ' \1').strip] ||= []) << plugin
end
- def process_tag( tag, node, refNode )
- plugins = Webgen::Plugin.config.select {|k,v| k.name !~ /^WebgenDocuPlugins::/ }
-
- mydata = {}
- plugins.each do |klass, data|
- next if data.params.nil?
- (mydata[klass.name[/^.*?(?=::)/].gsub(/([A-Z][a-z])/, ' \1').strip] ||= []) << data
+ output = "<dl>\n"
+ mydata.sort.each do |cat, plugins|
+ output << "<dt>#{cat}</dt><dd><dl>"
+ plugins.sort {|a,b| a.class.plugin_name <=> b.class.plugin_name}.each do |data|
+ output << "<dt>#{data.class.plugin_name}</dt>\n"
+ output << "<dd>#{@plugin_manager['WebgenDocu/DescribeTag'].format_params( data.class.config.params )}</dd>\n"
end
-
- output = "<dl>\n"
- mydata.sort.each do |cat, plugins|
- output << "<dt>#{cat}</dt><dd><dl>"
- plugins.sort {|a,b| a.plugin <=> b.plugin}.each do |data|
- output << "<dt>#{data.plugin}</dt>\n"
- output << "<dd>#{Webgen::Plugin['DescribeTag'].format_params( data.params )}</dd>\n"
- end
- output << "</dl></dd>"
- end
- output << "</dl>\n"
+ output << "</dl></dd>"
end
-
+ output << "</dl>\n"
end
end