Loading lib/jsduck/batch_processor.rb +2 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ require 'jsduck/process/versions' require 'jsduck/process/return_values' require 'jsduck/process/fires' require 'jsduck/process/lint' require 'jsduck/process/no_doc' require 'jsduck/process/circular_deps' module JsDuck Loading Loading @@ -71,6 +72,7 @@ module JsDuck Process::ReturnValues.new(relations).process_all! Process::Fires.new(relations).process_all! Process::Lint.new(relations).process_all! Process::NoDoc.new(relations).process_all! relations end Loading lib/jsduck/process/lint.rb +0 −28 Original line number Diff line number Diff line require 'jsduck/logger' require 'jsduck/class' module JsDuck module Process Loading @@ -14,7 +13,6 @@ module JsDuck # Runs the linter def process_all! warn_no_doc warn_unnamed warn_optional_params warn_duplicate_params Loading @@ -37,32 +35,6 @@ module JsDuck end end # print warning for each class or public member with no name def warn_no_doc @relations.each do |cls| if cls[:doc] == "" && !cls[:private] warn(:no_doc, "No documentation for #{cls[:name]}", cls) end cls.all_local_members.each do |member| if !member[:private] && !member[:hide] && !JsDuck::Class.constructor?(member) if member[:doc] == "" warn(:no_doc_member, "No documentation for #{member[:owner]}##{member[:name]}", member) end (member[:params] || []).each do |p| if p[:doc] == "" warn(:no_doc_param, "No documentation for parameter #{p[:name]} of #{member[:owner]}##{member[:name]}", member) end end end end end end # print warning for each non-optional parameter that follows an optional parameter def warn_optional_params each_member do |member| Loading lib/jsduck/process/no_doc.rb 0 → 100644 +49 −0 Original line number Diff line number Diff line require 'jsduck/logger' require 'jsduck/class' module JsDuck module Process # Reports missing documentation class NoDoc def initialize(relations) @relations = relations end # Prints warning for each class or public member with no name def process_all! @relations.each do |cls| if cls[:doc] == "" && !cls[:private] warn(:no_doc, "No documentation for #{cls[:name]}", cls) end cls.all_local_members.each do |member| if !member[:private] && !member[:hide] && !JsDuck::Class.constructor?(member) if member[:doc] == "" warn(:no_doc_member, "No documentation for #{member[:owner]}##{member[:name]}", member) end (member[:params] || []).each do |p| if p[:doc] == "" warn(:no_doc_param, "No documentation for parameter #{p[:name]} of #{member[:owner]}##{member[:name]}", member) end end end end end end private # Prints warning + filename and linenumber from doc-context def warn(type, msg, member) Logger.warn(type, msg, member[:files][0]) end end end end Loading
lib/jsduck/batch_processor.rb +2 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ require 'jsduck/process/versions' require 'jsduck/process/return_values' require 'jsduck/process/fires' require 'jsduck/process/lint' require 'jsduck/process/no_doc' require 'jsduck/process/circular_deps' module JsDuck Loading Loading @@ -71,6 +72,7 @@ module JsDuck Process::ReturnValues.new(relations).process_all! Process::Fires.new(relations).process_all! Process::Lint.new(relations).process_all! Process::NoDoc.new(relations).process_all! relations end Loading
lib/jsduck/process/lint.rb +0 −28 Original line number Diff line number Diff line require 'jsduck/logger' require 'jsduck/class' module JsDuck module Process Loading @@ -14,7 +13,6 @@ module JsDuck # Runs the linter def process_all! warn_no_doc warn_unnamed warn_optional_params warn_duplicate_params Loading @@ -37,32 +35,6 @@ module JsDuck end end # print warning for each class or public member with no name def warn_no_doc @relations.each do |cls| if cls[:doc] == "" && !cls[:private] warn(:no_doc, "No documentation for #{cls[:name]}", cls) end cls.all_local_members.each do |member| if !member[:private] && !member[:hide] && !JsDuck::Class.constructor?(member) if member[:doc] == "" warn(:no_doc_member, "No documentation for #{member[:owner]}##{member[:name]}", member) end (member[:params] || []).each do |p| if p[:doc] == "" warn(:no_doc_param, "No documentation for parameter #{p[:name]} of #{member[:owner]}##{member[:name]}", member) end end end end end end # print warning for each non-optional parameter that follows an optional parameter def warn_optional_params each_member do |member| Loading
lib/jsduck/process/no_doc.rb 0 → 100644 +49 −0 Original line number Diff line number Diff line require 'jsduck/logger' require 'jsduck/class' module JsDuck module Process # Reports missing documentation class NoDoc def initialize(relations) @relations = relations end # Prints warning for each class or public member with no name def process_all! @relations.each do |cls| if cls[:doc] == "" && !cls[:private] warn(:no_doc, "No documentation for #{cls[:name]}", cls) end cls.all_local_members.each do |member| if !member[:private] && !member[:hide] && !JsDuck::Class.constructor?(member) if member[:doc] == "" warn(:no_doc_member, "No documentation for #{member[:owner]}##{member[:name]}", member) end (member[:params] || []).each do |p| if p[:doc] == "" warn(:no_doc_param, "No documentation for parameter #{p[:name]} of #{member[:owner]}##{member[:name]}", member) end end end end end end private # Prints warning + filename and linenumber from doc-context def warn(type, msg, member) Logger.warn(type, msg, member[:files][0]) end end end end