=begin
= Gem Finder

gemfinder - A Simple Browser for Ruby Programs

 * Stable Version: 1.8
 * Developement Version: 1.9.x
 * See the ((<Download>)) section for availability.
 * See the ((<Installation>)) section for installation instructions.

== News

 * Anonymous classes can now be displayed. 

== Description

(({gemfinder})) is a very simple Ruby class browser.  It uses the
reflection capabilities of Ruby to allow a user to browse the classes,
modules and methods.

== Usage

(({gemfinder})) ((|files|))...

=== Options

: ((|files|)) ...

  List of Ruby source files to to be loaded into Gem Finder.

== Display Options

A screen shot of GemFinder can be found at ((<URL:screenshot.jpg>)).

The following options are available in checkboxes at the bottom of the window

: (({Flat View}))

  If checked, the methods of the current class and all of its
  ancestors (both classes and modules) will be displayed in the method
  box.  It is as if the inheritance hierarchy has been flattened into
  a single level.

  Methods in Object and Kernel are omitted from the flat view.  Every
  object includes the methods from Object and Kernel so including them
  will not add any interesting information and will just clutter the
  method list.  If you wish to see the methods from Object and Kernel,
  select either Object or Kernel directly and use the non-flat view.

: (({Private}))

  If checked, private and protected methods are included in the class
  list.  By default, private and protect methods are not listed.

: (({Class Methods}))

  If checked, the class methods of the selected class/module will be
  displayed instead of the instance methods.  If (({Flat View})) is
  also selected, all inherited class methods are displayed as well.

: (({System}))

  If checked, all of the Ruby system classes and modules are displayed
  in the classes list box, along with the Tk classes and the Gem
  Finder classes.  Leaving (({System})) unchecked allows an
  unobstructed view of the user's classes.

== Installation

Installation involves copying the main script ((({gemfinder}))) into
a directory in the PATH and creating a library directory ((({gem}))) 
somewhere in Ruby's load path.

Type (({make install})) to get a basic installation.  Make sure you
have the proper permissions for installing in the target directories
(you may have to be root).

If you want more control of the installation process, try a variation
on one of the following commands.

: (({ruby install.rb --prefix=((|PREFIX|))}))

  Install using ((|PREFIX|)) as the common base directory for
  ((*bin*)) and the ((*lib/ruby/site_ruby*)) directories.  This is a
  common option if you are using stow to control your installations.

: (({ruby install.rb --bindir=((|BINDIR|)) --sitedir=((|SITEDIR|))}))

  Set the ((|BINDIR|)) and ((|SITEDIR|)) indepedently of each other.
  Utimately, ((|BINDIR|)) should be listed somewhere in your PATH
  environment variable, and ((|SITEDIR|)) should be somewhere Ruby can 
  find it (e.g. in the (('$:')) list).

: (({ruby install.rb ((|options|)) --test}))

  This version will display all the install actions without actually
  performing them.  This allows the user to "check" to see if the
  install options are what they want.

: (({ruby install.rb --help}))

  This prints a summary of the installation options.

== Author

Jim Weirich ((<URL:mailto:jweirich@one.net>))

== Limitations

Lots ... Here's some off the top of my head.

 * GemFinder does not reload files after they have been editted.  Just
   restart GemFinder to see the revisions.

 * Attributes, constants and other non-method items in a class can not
   be viewed.

 * There are no links back to the original source code. (This is
   something I would really like to have).

== Links
=== Download

 * ((*Web Page*)): ((<URL:http://w3.one.net/~jweirich/tools/gemfinder/index.html>))
 * ((*Download*)): ((<URL:ftp://ftp.one.net/pub/users/jweirich/tools/gemfinder>))
 * ((*Browse Source*)): ((<URL:http://w3.one.net/~jweirich/tools/gemfinder/source_list.html>))

=== Ruby Related
 * ((*Ruby Home Page*)): ((<URL:http://www.ruby-lang.org>))
 * ((*Ruby Central*)): ((<URL:http://www.rubycentral.com>))

=== Other Weirich Pages
 * ((<Home Page|URL:http://w3.one.net/~jweirich>))
 * ((<Tools Page|URL:http://w3.one.net/~jweirich/tools>))

=end
