class RDoc::Generator::Mdoc::Module

Attributes

mandb_section[R]
rdoc_module[R]

Public Class Methods

new(rdoc_module, mandb_section) click to toggle source
# File lib/rdoc/generator/mdoc/module.rb, line 10
def initialize(rdoc_module, mandb_section)
  @rdoc_module = rdoc_module
  @mandb_section = mandb_section
end

Public Instance Methods

described?() click to toggle source
# File lib/rdoc/generator/mdoc/module.rb, line 27
def described?
  !description.empty?
end
description() click to toggle source
# File lib/rdoc/generator/mdoc/module.rb, line 31
def description
  comment.mdoc_formatted_content
end
extended_modules() click to toggle source
# File lib/rdoc/generator/mdoc/module.rb, line 35
def extended_modules
  @extended_modules ||= decorate_rdoc_mixins(rdoc_module.extends)
end
full_name() click to toggle source
# File lib/rdoc/generator/mdoc/module.rb, line 15
def full_name
  rdoc_module.full_name
end
included_modules() click to toggle source
# File lib/rdoc/generator/mdoc/module.rb, line 39
def included_modules
  @included_modules ||= decorate_rdoc_mixins(rdoc_module.includes)
end
methods() click to toggle source
# File lib/rdoc/generator/mdoc/module.rb, line 43
def methods
  sections.flat_map(&:methods)
end
methods_by_type(section) click to toggle source
# File lib/rdoc/generator/mdoc/module.rb, line 62
def methods_by_type(section)
  rdoc_module.methods_by_type(section)
end
reference() click to toggle source
# File lib/rdoc/generator/mdoc/module.rb, line 19
def reference
  "#{full_name} #{mandb_section}"
end
sections() click to toggle source
# File lib/rdoc/generator/mdoc/module.rb, line 47
def sections
  @sections ||=
    rdoc_module.
    each_section.
    map do |rdoc_section, rdoc_constants, rdoc_attributes|
      Section.new(
        rdoc_section,
        rdoc_constants,
        rdoc_attributes,
        mandb_section,
        self,
      )
    end
end
short_description() click to toggle source
# File lib/rdoc/generator/mdoc/module.rb, line 23
def short_description
  comment.first_paragraph.truncate(50)
end

Private Instance Methods

comment() click to toggle source
# File lib/rdoc/generator/mdoc/module.rb, line 68
def comment
  @comment ||= if rdoc_module.comment_location.is_a? RDoc::Markup::Document
    Comment.new(rdoc_module.comment_location)
  else
    Comment.new(extract_markup(rdoc_module.comment_location))
  end
end
decorate_rdoc_mixins(rdoc_mixins) click to toggle source
# File lib/rdoc/generator/mdoc/module.rb, line 80
def decorate_rdoc_mixins(rdoc_mixins)
  rdoc_mixins.map(&:module).map do |rdoc_module|
    if rdoc_module.is_a? String
      UnknownModule.new(rdoc_module)
    else
      self.class.new(rdoc_module, mandb_section)
    end
  end
end
extract_markup(comment_location) click to toggle source
# File lib/rdoc/generator/mdoc/module.rb, line 76
def extract_markup(comment_location)
  comment_location.map { |rdoc_comment, _| rdoc_comment.text }.join("\n")
end