EntityModel

 view release on metacpan or  search on metacpan

lib/EntityModel/Util.pm  view on Meta::CPAN

=item * goodbye - coderef to call after success/failure. This will always be called regardless
of status, and can be used to chain events similar to L<CPS>.

=back

Returns the transaction in list or scalar context, and in void
context will clean up the transaction automatically.

=cut

sub as_transaction(&;@) {
	my $code = shift;
	my %args = @_;
	my $tran = EntityModel::Transaction->new;
	$tran->run($code, %args);
	# unless we're in void context, pass the transaction back for something else
	# to take a crack at it
	return $tran if defined wantarray;
	$tran->commit;
	undef;
}

lib/Test/EntityModel.pm  view on Meta::CPAN

			name => 'book_author',
			primary => [qw(idbook idauthor)],
			field => [
				{ name => 'book', type => 'text', },
				{ name => 'author', type => '', },
			],
		} ],
	},
);

sub with_model(&;@) {
	my $code = shift;
	my %args = @_;
	my $def = $model_data{$args{model} || 'simple'} or die 'unknown model - ' . $args{model};

	my $weak_model;
	{
		my $model = EntityModel->default_model;
		Scalar::Util::weaken($weak_model = $model);
		$model->add_storage(
			# TODO extract this



( run in 0.349 second using v1.01-cache-2.11-cpan-bb97c1e446a )