| Catalyst-Plugin-CRUD documentation | Contained in the Catalyst-Plugin-CRUD distribution. |
Catalyst::Plugin::CRUD - CRUD (create/read/update/delete) Plugin for Catalyst
package MyApp;
use Catalyst qw/-Debug ConfigLoader I18N CRUD Static::Simple/;
1;
package MyApp::Controller::Foo;
sub create : Local {
my ($self, $c) = @_;
$c->create($self);
}
1;
This module provides CRUD (create/read/update/delete) action.
create: insert new record read: retrieve record update: update already record delete: delete record list: retrieve all records
None by default.
Create action. This method internally calls Catalyst::Controller::[CDBI|DBIC]::create.
Read action. This method internally calls Catalyst::Controller::[CDBI|DBIC]::read.
Update action. This method internally calls Catalyst::Controller::[CDBI|DBIC]::update.
Delete action. This method internally calls Catalyst::Controller::[CDBI|DBIC]::delete.
List action This method internally calls Catalyst::Controller::[CDBI|DBIC]::list.
Catalyst, Catalyst::Controller::CRUD
Jun Shimizu, <bayside@cpan.org>
Copyright (C) 2006-2007 by Jun Shimizu
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.2 or, at your option, any later version of Perl 5 you may have available.
| Catalyst-Plugin-CRUD documentation | Contained in the Catalyst-Plugin-CRUD distribution. |
package Catalyst::Plugin::CRUD; use strict; use warnings; use Catalyst::Controller::CRUD::CDBI; use Catalyst::Controller::CRUD::DBIC; use Scalar::Util qw(blessed); our $VERSION = '0.21';
sub create { my ( $c, $self ) = @_; my $type = $self->setting($c)->{type} || 'CDBI'; my $cntl = "Catalyst::Controller::CRUD::" . $type; $cntl->create($c, $self); }
sub read { my ( $c, $self ) = @_; my $type = $self->setting($c)->{type} || 'CDBI'; my $cntl = "Catalyst::Controller::CRUD::" . $type; $cntl->read($c, $self); }
sub update { my ( $c, $self ) = @_; my $type = $self->setting($c)->{type} || 'CDBI'; my $cntl = "Catalyst::Controller::CRUD::" . $type; $cntl->update($c, $self); }
sub delete { my ( $c, $self ) = @_; my $type = $self->setting($c)->{type} || 'CDBI'; my $cntl = "Catalyst::Controller::CRUD::" . $type; $cntl->delete($c, $self); }
sub list { my ( $c, $self ) = @_; my $type = $self->setting($c)->{type} || 'CDBI'; my $cntl = "Catalyst::Controller::CRUD::" . $type; $cntl->list($c, $self); }
sub Class::DBI::toHashRef { my ( $self ) = @_; my %hash = $self->_as_hash; return \%hash; }
sub DBIx::Class::toHashRef { my ( $self ) = @_; # see http://search.cpan.org/dist/DBIx-Class-AsFdat my $hash; for my $column ($self->result_source->columns) { $hash->{$column} = $self->$column; # inflate the datetime if (blessed($hash->{$column}) and $hash->{$column}->isa('DateTime')) { for my $type (qw(year month day hour minute second)) { $hash->{"${column}_$type"} = $hash->{$column}->$type; } } } return $hash; }
1;