From 26778c45b94bc3501478b7d06ac7bfeb17b49221 Mon Sep 17 00:00:00 2001 From: Rene Saarsoo Date: Mon, 28 Jan 2013 16:51:17 +0200 Subject: [PATCH] Allow for any number of merge contexts. --- lib/jsduck/tag/tag.rb | 7 ++----- lib/jsduck/tag_registry.rb | 7 ++++--- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/lib/jsduck/tag/tag.rb b/lib/jsduck/tag/tag.rb index adf5ec6e..a2506b58 100644 --- a/lib/jsduck/tag/tag.rb +++ b/lib/jsduck/tag/tag.rb @@ -70,11 +70,8 @@ module JsDuck::Tag end # In the context of which members or classes invoke the #merge - # method. Possible values are: - # - # - :class - # - :member - # + # method. This can be either a single tagname like :class, + # :method, :cfg or an array of these. attr_reader :merge_context # Merges documentation and code hashes into the result hash. diff --git a/lib/jsduck/tag_registry.rb b/lib/jsduck/tag_registry.rb index 4b2f73fa..fabd6100 100644 --- a/lib/jsduck/tag_registry.rb +++ b/lib/jsduck/tag_registry.rb @@ -12,7 +12,7 @@ module JsDuck @ext_define_patterns = {} @ext_define_defaults = {} @keys = {} - @mergers = {:class => [], :member => []} + @mergers = {} @signatures = [] @html_renderers = {:top => [], :bottom => []} @member_types = [] @@ -42,8 +42,9 @@ module JsDuck if tag.key @keys[tag.key] = tag end - if tag.merge_context - @mergers[tag.merge_context] << tag + Array(tag.merge_context).each do |context| + @mergers[context] = [] unless @mergers[context] + @mergers[context] << tag end if tag.member_type @member_types << tag.member_type -- GitLab