package Catalyst::Model::Oryx; use strict; use base qw(Catalyst::Base Oryx); use Oryx; our $VERSION = '0.01'; =head1 NAME Catalyst::Model::Oryx - Oryx model component for Catalyst =head1 SYNOPSIS # with the helper script/create.pl model Oryx Oryx # define your storage class by hand package CMS::M::Oryx; use base qw(Catalyst::Model::Oryx); __PACKAGE__->config( dsname => 'dbi:Pg:dbname=mydb', usname => 'jrandom' passwd => '70p53cr37' ); 1; # define a persistent class package CMS::M::Document; use base qw(Oryx::Class); our $schema = { attributes => [{ name => 'author', type => 'String', }], associations => [{ role => 'paragraphs', type => 'Array', }] }; 1; # use your persistent class use CMS::M::Document (auto_deploy => 1); # create tables as needed $doc = CMS::M::Document->create({ author => 'Some Clever Guy', }); =head1 DESCRIPTION This module implements an L object persistence model component for the L application framework. See L and L for details on how to use L. =head1 METHODS =over =item new Constructor and calls the C method which it inherits from L. If you've used the helper script to install the Oryx model, then L will be used by default with the C set to '/tmp' - this can be useful for easily testing your persistent objects without the need to do any RDBMS setup. =back =cut sub new { my $class = shift; my $self = $class->SUPER::new( @_); $self->connect([ $self->{dsname}, $self->{usname}, $self->{passwd}, ]); return $self; } 1; =head1 AUTHOR Richard Hundt =head1 SEE ALSO L, L =head1 LICENCE This module is free software and may be used under the same terms as Perl itself. =cut