NAME
SPOPS::ClassFactory::DBI - Define additional configuration methods
SYNOPSIS
# Put SPOPS::DBI in your isa
my $config = {
class => 'My::SPOPS',
isa => [ 'SPOPS::DBI::Pg', 'SPOPS::DBI' ],
};
DESCRIPTION
This class implements a behavior for the 'links_to' slot as described in SPOPS::ClassFactory.
It is possible -- and perhaps desirable for the sake of clarity -- to create a method within SPOPS::DBI that does all the work that this behavior does, then we would only need to create a subroutine that calls that subroutine.
However, creating routines with the values embedded directly in them should be quicker and more efficient. So we will try it this way.
METHODS
Note: Even though the first parameter for all behaviors is $class
, they are not class methods. The parameter refers to the class into which the behaviors will be installed.
conf_relate_links_to( $class )
Slot: links_to
Get the config for $class
and find the 'links_to' configuration information. If defined, we auto-generate subroutines to implement the linking functionality.
Please see SPOPS::Manual::Relationships for how to configure this and examples of usage.
TO DO
Make 'links_to' more flexible
We need to account for different types of linking; this may require an additional field beyond 'links_to' that has a similar effect but works differently.
For instance, Table-B might have a 'has_a' relationship with Table-A, but Table-A might have a 'links_to' relationship with Table-B. (Themes in OpenInteract work like this.) We need to be able to specify that when Table-A severs its relationship with one or more objects from Table-B, the actual object is removed rather than just a link between them.
BUGS
None known.
COPYRIGHT
Copyright (c) 2001-2004 intes.net, inc.. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHORS
Chris Winters <chris@cwinters.com>
See the SPOPS module for the full author list.