NAME
Class::DBI::GraphEasy - use Graph::Easy to graph Class::DBI classes
easily.
SYNOPSIS
my $graph = Class::DBI::GraphEasy->new (classes => ['Music::Artist','Music::CD'], prettify => 1, colorize => 1, show_columns => 1, no_recursion => 0); #returns a Graph::Easy object
print $graph->as_html_file(); #render $graph as html for rapid graphing
my $graphviz = $graph->as_graphviz(); #render as graphviz for best results
DESCRIPTION
This module integrates Class::DBI and Graph::Easy. It is designed to
easily generate diagrams to illustrate the given Class::DBI classes. By
default, it traverses both 'has a' and 'has many' relationships to
discovery foreign classes recusively until not further relationships are
found.
METHODS
The public method is new().
new()
It returns an Graph::Easy object.
The following is a description of possible parameters.
classes => \@your_cdbi_classes
This paramater is mandatory. It takes an arrayref of the Class::DBI
classes that you would like to graph. The class list is NOT
restricted by namespaces.
prettify => 0 | 1
Defaulted to 0. If set to 1, the module will prettify your class and
attribute (column) labels, for example, showing "Wonderful Class"
instead of "some::wonderful_class". Please note that the actual
names of the class nodes are NOT changed. To prevent naming
collisions, attributes node names are concatenated with their class
name using a hyphen, i.e. "Class::Name-Attribute_Name". Please refer
to the Graph::Easy Manual for controlling per node or per edge
attributes.
colorize => 0 | 1
Defaulted to 0. If set to 1, it will use a default color style.
show_columns => 0 | 1
Defaulted to 0. It controls whether to graph the attributes
(columns) of the given Class::DBI classes. The module automatically
hides primary key columns and foreign key columns founded in 'has a'
relationships. Attribute (column) nodes are graphed as circles.
no_recursion => 0 | 1
Defaulted to 0. If set to 1, the module will NOT traverses
relationships automatically to discovery foreign classes.
flow => north | south | west | east
Defaulted to east. It is a shortcut to the flow directions of a
graph suppported by Graph::Easy.
arrowstyle => open | closed | filled | none
Defaulted to open. It is a shortcut to the arrowstyles supported by
Graph::Easy. It applies to all edges between classes. This option is
handy since not all arrow styles are rendered nicely as html.
_graph_it()
This is an internal API to construct the graph.
_prettify()
This is an internal API to prettify class labels and attribute (column)
labels.
_show_columns()
This is an internal API for graphing attributes (columns).
SEE ALSO
Class::DBI, Graph::Easy.
AUTHOR
Xufeng (Danny) Liang danny@scm.uws.edu.au
COPYRIGHT & LICENSE
Copyright 2006 Xufeng (Danny) Liang, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.