class JsDuck::Process::NoDoc

Reports missing documentation

Public Class Methods

new(relations) click to toggle source
# File lib/jsduck/process/no_doc.rb, line 9
def initialize(relations)
  @relations = relations
end

Public Instance Methods

process_all!() click to toggle source

Prints warning for each class or public member with no name

# File lib/jsduck/process/no_doc.rb, line 14
def process_all!
  @relations.each do |cls|

    if cls[:doc] == ""
      warn(:class, "No documentation for #{cls[:name]}", cls)
    end

    cls.all_local_members.each do |member|
      if !member[:hide] && !JsDuck::Class.constructor?(member)
        if member[:doc] == ""
          warn(:member, "No documentation for #{member[:owner]}##{member[:name]}", member)
        end

        (member[:params] || []).each do |p|
          if p[:doc] == ""
            warn(:param, "No documentation for parameter #{p[:name]} of #{member[:owner]}##{member[:name]}", member)
          end
        end

      end
    end

  end
end

Private Instance Methods

warn(type, msg, owner) click to toggle source
# File lib/jsduck/process/no_doc.rb, line 41
def warn(type, msg, owner)
  visibility = owner[:private] ? :private : (owner[:protected] ? :protected : :public)

  Logger.warn(:nodoc, msg, owner[:files][0], [type, visibility])
end