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