class Wrongdoc::Rdoc

Public Class Methods

new(opts) click to toggle source
# File lib/wrongdoc/rdoc.rb, line 14
def initialize(opts)
  @rdoc_uri = URI.parse(opts[:rdoc_url])
  @cgit_uri = URI.parse(opts[:cgit_url])
end

Public Instance Methods

add_atom(path, atom_uri) click to toggle source
# File lib/wrongdoc/rdoc.rb, line 37
def add_atom(path, atom_uri)
  File.open(path, "a+") do |fp|
    doc = parse_xml(fp.read)
    doc.search("title").each { |t|
      t.add_next_sibling(atom_node(doc, atom_uri))
    }
    fp.truncate 0
    fp.write doc.to_xhtml
  end
end
atom_node(doc, uri, title = 'Atom feed') click to toggle source
# File lib/wrongdoc/rdoc.rb, line 61
def atom_node(doc, uri, title = 'Atom feed')
  link = Nokogiri::XML::Node.new('link', doc)
  link['rel'] = 'alternate'
  link['title'] = title
  link['href'] = uri.to_s
  link['type'] = 'application/atom+xml'
  link
end
cgit_atom_uri() click to toggle source
# File lib/wrongdoc/rdoc.rb, line 48
def cgit_atom_uri
  uri = @cgit_uri.dup
  uri.path += "/atom/"
  uri.query = "h=master"
  uri
end
news_atom_uri() click to toggle source
# File lib/wrongdoc/rdoc.rb, line 55
def news_atom_uri
  uri = @rdoc_uri.dup
  uri.path += "NEWS.atom.xml"
  uri
end
rdoc(argv) click to toggle source
# File lib/wrongdoc/rdoc.rb, line 32
def rdoc(argv)
  r = RDoc::RDoc.new
  r.document(rdoc_options.concat(argv))
end
run(argv = []) click to toggle source
# File lib/wrongdoc/rdoc.rb, line 19
def run(argv = [])
  rdoc(argv)
  add_atom("doc/ChangeLog.html", cgit_atom_uri)
  add_atom("doc/NEWS.html", news_atom_uri)
  add_atom("doc/README.html", news_atom_uri)

  # the stock RDoc index page layout lacks a vertical sidebar full of links
  rdoc_index = "doc/rdoc_index.html"
  File.exist?(rdoc_index) and File.unlink(rdoc_index)
  File.rename("doc/index.html", rdoc_index)
  File.link("doc/README.html", "doc/index.html")
end