On Feb 26, 2007, at 10:58 AM, John Siracusa wrote:
> Yep, that's the way to do it:
>
> package My::DB::Object; # common base class
> use base 'Rose::DB::Object';
> use My::DB;
>
> our $DB;
>
> sub init_db { $DB ||= My::DB->new(...) }
Actually, I think you'd be better off with something more like a
factory pattern.
Have a namespace/module where you create + fetch + lock/unlock db
availability, and then set the init_db to pull from there.
This way you can manage the transactions outside of rose , and have
the dbh available easily to all your code.
package MyDbNamespace;
my $dbh;
sub new {};
sub get_dbh {};
> package My::DB::Object; # common base class
> use base 'Rose::DB::Object';
> use My::DB;
sub init_db {
my $db= My::DB->new();
$db->dbh( MyDbNamespace::get_db() or die 'DB unavailable' );
return $db;
}
// Jonathan Vanasco
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
| SyndiClick.com
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
| FindMeOn.com - The cure for Multiple Web Personality Disorder
| Web Identity Management and 3D Social Networking
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
| RoadSound.com - Tools For Bands, Stuff For Fans
| Collaborative Online Management And Syndication Tools
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Rose-db-object mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rose-db-object