#!/usr/local/bin/ruby -Ke
#
# mkrefe_rubyrefm.rb
#
# Copyright (c) 2003 Minero Aoki <aamine@loveruby.net>
#
# This program is free software.
# You can distribute/modify this program under the terms of
# the GNU Lesser General Public License version 2 or later.
#

require 'refe/database'
require 'refe/rubyrefmparser'
require 'refe/mygetopt'
require 'refe/info'


getopt = MyGetoptLong.new(<<EndUsage, <<EndOptions)
Usage: mkrefe_rubyrefm [-d <dir>] <filename>

%%options%%

EndUsage

  o -d --databasedir  <dir>  Use <dir> as the database directory.
  o -  --version      -      Print program version and quit.
  o -h --help         -      Print this message and quit.

EndOptions


opts = {}
begin
  getopt.each do |name, arg|
    opts[name] = arg
  end
rescue => err
  getopt.usage 1, err.message
end
getopt.usage(0) if opts['--help']
(puts "mkrefe_extrefm version #{ReFe::Version}"; exit 0) if opts['--version']


db = ReFe::Database.new(opts['--databasedir'], true)
cdoc = db.class_document
mdoc = db.method_document

classes, methods = ReFe::RubyReferenceManualParser.new.parse(ARGF)
classes.each do |c, doc|
  cdoc[c] = doc
end
methods.each do |c, tbl|
  tbl.each do |m, doc|
    mdoc["#{c}#{m}"] = doc
  end
end
cdoc.flush
mdoc.flush
