From a12c57472c0ba8813d4521e3b8934c080a623771 Mon Sep 17 00:00:00 2001 From: Rene Saarsoo Date: Sun, 4 Dec 2011 13:23:27 +0200 Subject: [PATCH] Auto-generate list of signatures. Previously the list was hard-coded. Now all meta-tags with signature defined are automatically included, and the order is the alphabetical order of filenames (for builtin tags). --- lib/jsduck/meta_tag_loader.rb | 5 ++++- lib/jsduck/meta_tag_registry.rb | 14 +++----------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/lib/jsduck/meta_tag_loader.rb b/lib/jsduck/meta_tag_loader.rb index e0c0eef6..babf6d76 100644 --- a/lib/jsduck/meta_tag_loader.rb +++ b/lib/jsduck/meta_tag_loader.rb @@ -21,7 +21,10 @@ module JsDuck if path == :builtins load(File.dirname(__FILE__) + "/tag") elsif File.directory?(path) - Dir[path+"/**/*.rb"].each {|file| load_file(file) } + # Sort paths, so they are always loaded in the same order. + # This is important for signatures to always be rendered in + # the same order. + Dir[path+"/**/*.rb"].sort.each {|file| load_file(file) } else load_file(path) end diff --git a/lib/jsduck/meta_tag_registry.rb b/lib/jsduck/meta_tag_registry.rb index 3ad9b790..5c4b055d 100644 --- a/lib/jsduck/meta_tag_registry.rb +++ b/lib/jsduck/meta_tag_registry.rb @@ -56,17 +56,9 @@ module JsDuck # (and in order they should be shown in). def signatures if !@signatures - @signatures = [ - :static, - :protected, - :deprecated, - :required, - :template, - :abstract, - :readonly, - ].map do |key| - s = @map[key].signature - s[:key] = key + @signatures = @tags.find_all(&:signature).map do |tag| + s = tag.signature + s[:key] = tag.key s end end -- GitLab