Loading lib/jsduck/doc_ast.rb +0 −12 Original line number Diff line number Diff line Loading @@ -43,10 +43,7 @@ module JsDuck :tagname => :class, :name => detect_name(:class, doc_map), :doc => detect_doc(docs), :alternateClassNames => detect_list(:alternateClassNames, doc_map), :aliases => detect_aliases(doc_map), :requires => detect_list(:requires, doc_map), :uses => detect_list(:uses, doc_map), :enum => detect_enum(doc_map), :override => extract(doc_map, :override, :class), }, doc_map) Loading Loading @@ -157,15 +154,6 @@ module JsDuck extract(doc_map, tagname, :default) end # for detecting mixins and alternateClassNames def detect_list(type, doc_map) if doc_map[type] doc_map[type].map {|d| d[type] }.flatten else nil end end def detect_aliases(doc_map) if doc_map[:alias] doc_map[:alias].map {|tag| tag[:name] } Loading lib/jsduck/tag/alternate_class_names.rb +3 −13 Original line number Diff line number Diff line require "jsduck/tag/tag" require "jsduck/ast_utils" require "jsduck/tag/class_list_tag" module JsDuck::Tag class AlternateClassNames < Tag class AlternateClassNames < ClassListTag def initialize @pattern = ["alternateClassName", "alternateClassNames"] @key = :alternateClassNames @ext_define_pattern = "alternateClassName" @ext_define_default = {:alternateClassNames => []} end # @alternateClassNames classname1 classname2 ... def parse(p) p.add_tag(:alternateClassNames) p.classname_list(:alternateClassNames) end def parse_ext_define(cls, ast) cls[:alternateClassNames] = JsDuck::AstUtils.make_string_list(ast) end end end lib/jsduck/tag/class_list_tag.rb 0 → 100644 +28 −0 Original line number Diff line number Diff line require "jsduck/tag/tag" require "jsduck/ast_utils" module JsDuck::Tag # Base class for tags like @mixins, @uses, etc # Which take the following form: # # @tagname classname1 classname2 ... # # Subclasses need to define the @patterns and @key fields for the # #parse and #process_doc methods to work. Plus @ext_define_pattern # and @ext_define_default for the #parse_ext_define to work. # class ClassListTag < Tag def parse(p) p.add_tag(@key) p.classname_list(@key) end def process_doc(tags) tags.map {|d| d[@key] }.flatten end def parse_ext_define(cls, ast) cls[@key] = JsDuck::AstUtils.make_string_list(ast) end end end lib/jsduck/tag/mixins.rb +4 −12 Original line number Diff line number Diff line require "jsduck/tag/tag" require "jsduck/tag/class_list_tag" module JsDuck::Tag class Mixins < Tag class Mixins < ClassListTag def initialize @pattern = ["mixin", "mixins"] @key = :mixins Loading @@ -9,16 +9,8 @@ module JsDuck::Tag @ext_define_default = {:mixins => []} end # @mixins classname1 classname2 ... def parse(p) p.add_tag(:mixins) p.classname_list(:mixins) end def process_doc(tags) tags.map {|d| d[@key] }.flatten end # Override definition in parent class. In addition to Array # literal, mixins can be defined with an object literal. def parse_ext_define(cls, ast) cls[:mixins] = to_mixins_array(ast) end Loading lib/jsduck/tag/requires.rb +3 −13 Original line number Diff line number Diff line require "jsduck/tag/tag" require "jsduck/ast_utils" require "jsduck/tag/class_list_tag" module JsDuck::Tag class Requires < Tag class Requires < ClassListTag def initialize @pattern = "requires" @key = :requires @ext_define_pattern = "requires" @ext_define_default = {:requires => []} end # @requires classname1 classname2 ... def parse(p) p.add_tag(:requires) p.classname_list(:requires) end def parse_ext_define(cls, ast) cls[:requires] = JsDuck::AstUtils.make_string_list(ast) end end end Loading
lib/jsduck/doc_ast.rb +0 −12 Original line number Diff line number Diff line Loading @@ -43,10 +43,7 @@ module JsDuck :tagname => :class, :name => detect_name(:class, doc_map), :doc => detect_doc(docs), :alternateClassNames => detect_list(:alternateClassNames, doc_map), :aliases => detect_aliases(doc_map), :requires => detect_list(:requires, doc_map), :uses => detect_list(:uses, doc_map), :enum => detect_enum(doc_map), :override => extract(doc_map, :override, :class), }, doc_map) Loading Loading @@ -157,15 +154,6 @@ module JsDuck extract(doc_map, tagname, :default) end # for detecting mixins and alternateClassNames def detect_list(type, doc_map) if doc_map[type] doc_map[type].map {|d| d[type] }.flatten else nil end end def detect_aliases(doc_map) if doc_map[:alias] doc_map[:alias].map {|tag| tag[:name] } Loading
lib/jsduck/tag/alternate_class_names.rb +3 −13 Original line number Diff line number Diff line require "jsduck/tag/tag" require "jsduck/ast_utils" require "jsduck/tag/class_list_tag" module JsDuck::Tag class AlternateClassNames < Tag class AlternateClassNames < ClassListTag def initialize @pattern = ["alternateClassName", "alternateClassNames"] @key = :alternateClassNames @ext_define_pattern = "alternateClassName" @ext_define_default = {:alternateClassNames => []} end # @alternateClassNames classname1 classname2 ... def parse(p) p.add_tag(:alternateClassNames) p.classname_list(:alternateClassNames) end def parse_ext_define(cls, ast) cls[:alternateClassNames] = JsDuck::AstUtils.make_string_list(ast) end end end
lib/jsduck/tag/class_list_tag.rb 0 → 100644 +28 −0 Original line number Diff line number Diff line require "jsduck/tag/tag" require "jsduck/ast_utils" module JsDuck::Tag # Base class for tags like @mixins, @uses, etc # Which take the following form: # # @tagname classname1 classname2 ... # # Subclasses need to define the @patterns and @key fields for the # #parse and #process_doc methods to work. Plus @ext_define_pattern # and @ext_define_default for the #parse_ext_define to work. # class ClassListTag < Tag def parse(p) p.add_tag(@key) p.classname_list(@key) end def process_doc(tags) tags.map {|d| d[@key] }.flatten end def parse_ext_define(cls, ast) cls[@key] = JsDuck::AstUtils.make_string_list(ast) end end end
lib/jsduck/tag/mixins.rb +4 −12 Original line number Diff line number Diff line require "jsduck/tag/tag" require "jsduck/tag/class_list_tag" module JsDuck::Tag class Mixins < Tag class Mixins < ClassListTag def initialize @pattern = ["mixin", "mixins"] @key = :mixins Loading @@ -9,16 +9,8 @@ module JsDuck::Tag @ext_define_default = {:mixins => []} end # @mixins classname1 classname2 ... def parse(p) p.add_tag(:mixins) p.classname_list(:mixins) end def process_doc(tags) tags.map {|d| d[@key] }.flatten end # Override definition in parent class. In addition to Array # literal, mixins can be defined with an object literal. def parse_ext_define(cls, ast) cls[:mixins] = to_mixins_array(ast) end Loading
lib/jsduck/tag/requires.rb +3 −13 Original line number Diff line number Diff line require "jsduck/tag/tag" require "jsduck/ast_utils" require "jsduck/tag/class_list_tag" module JsDuck::Tag class Requires < Tag class Requires < ClassListTag def initialize @pattern = "requires" @key = :requires @ext_define_pattern = "requires" @ext_define_default = {:requires => []} end # @requires classname1 classname2 ... def parse(p) p.add_tag(:requires) p.classname_list(:requires) end def parse_ext_define(cls, ast) cls[:requires] = JsDuck::AstUtils.make_string_list(ast) end end end