Catalyst-Controller-DBIC-API
view release on metacpan or search on metacpan
- Because of the above one object or several is now possible for update or
create
- Create and update object validation now happens iteratively
- Creates and updates can be mixed inside a single bulk request
- All modifying actions on the database occur within an all-or-nothing
transaction
- Much of the DBIC search parameter munging is properly moved to the
RequestArguments role in the form of a trigger on 'search' to populate
'search_parameters' and 'search_attributes' which correspond directly to
->search($parameters, $attributes)
- Error handling is now much more consistent, using Try::Tiny everywhere
possible
- Tests are now modernized and use JSON::Any
- Extending is now explicitly done via Moose method modifiers
- The only portion of the stash in use is to allow runtime definition of
create/update_allows
- list is now broken down into several steps:
+ list_munge_parameters
+ list_perform_search
+ list_format_output
+ row_format_output (which is just a passthrough per row)
lib/Catalyst/Controller/DBIC/API.pm view on Meta::CPAN
use Moose;
BEGIN { extends 'Catalyst::Controller'; }
use CGI::Expand ();
use DBIx::Class::ResultClass::HashRefInflator;
use JSON::MaybeXS ();
use Test::Deep::NoTest('eq_deeply');
use MooseX::Types::Moose(':all');
use Moose::Util;
use Scalar::Util( 'blessed', 'reftype' );
use Try::Tiny;
use Catalyst::Controller::DBIC::API::Request;
use DBIx::Class::ResultSet::RecursiveUpdate;
use namespace::autoclean;
has '_json' => (
is => 'ro',
isa => JSON::MaybeXS::JSON(),
lazy_build => 1,
);
lib/Catalyst/Controller/DBIC/API/StoredResultSource.pm view on Meta::CPAN
package Catalyst::Controller::DBIC::API::StoredResultSource;
$Catalyst::Controller::DBIC::API::StoredResultSource::VERSION = '2.009000';
#ABSTRACT: Provides accessors for static resources
use Moose::Role;
use MooseX::Types::Moose(':all');
use Catalyst::Controller::DBIC::API::Types(':all');
use Try::Tiny;
use namespace::autoclean;
requires '_application';
has 'class' => ( is => 'ro', isa => Str, writer => '_set_class' );
has 'result_class' => (
is => 'ro',
( run in 0.504 second using v1.01-cache-2.11-cpan-05444aca049 )