Catalyst::Model::Oryx - Oryx model component for Catalyst


Catalyst-Model-Oryx documentation Contained in the Catalyst-Model-Oryx distribution.

Index


Code Index:

NAME

Top

Catalyst::Model::Oryx - Oryx model component for Catalyst

SYNOPSIS

Top

 # 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',
 });




DESCRIPTION

Top

This module implements an Oryx object persistence model component for the Catalyst application framework. See Oryx and Oryx::Class for details on how to use Oryx.

METHODS

Top

new

Constructor and calls the connect method which it inherits from Oryx. If you've used the helper script to install the Oryx model, then DBM::Deep will be used by default with the datapath set to '/tmp' - this can be useful for easily testing your persistent objects without the need to do any RDBMS setup.

AUTHOR

Top

Richard Hundt <richard NO SPAM AT protea-systems.com>

SEE ALSO

Top

Catalyst, Oryx

LICENCE

Top

This module is free software and may be used under the same terms as Perl itself.


Catalyst-Model-Oryx documentation Contained in the Catalyst-Model-Oryx distribution.
package Catalyst::Model::Oryx;

use strict;
use base qw(Catalyst::Base Oryx);
use Oryx;

our $VERSION = '0.01';

sub new {
    my $class = shift;
    my $self = $class->SUPER::new( @_);

    $self->connect([
        $self->{dsname},
        $self->{usname},
        $self->{passwd},
    ]);

    return $self;
}

1;