NAME

DBIx::Class::Carp - Provides advanced Carp::Clan-like warning functions for DBIx::Class internals

DESCRIPTION

Documentation is lacking on purpose - this an experiment not yet fit for mass consumption. If you use this do not count on any kind of stability, in fact don't even count on this module's continuing existence (it has been noindexed for a reason).

In addition to the classic interface:

use DBIx::Class::Carp '^DBIx::Class'

this module also supports a class-data based way to specify the exclusion regex. A message is only carped from a callsite that matches neither the closed over string, nor the value of "_skip_namespace_frames" as declared on any callframe already skipped due to the same mechanism. This is to ensure that intermediate callsites can declare their own additional skip-namespaces.

CLASS ATTRIBUTES

_skip_namespace_frames

A classdata attribute holding the stringified regex matching callsites that should be skipped by the carp methods below. An empty string q{} is treated like no setting/undef (the distinction is necessary due to semantics of the class data accessors provided by Class::Accessor::Grouped)

EXPORTED FUNCTIONS

This module export the following 3 functions. Only warning related carp* is being handled here, for croak-ing you must use "throw_exception" in DBIx::Class::Schema or DBIx::Class::Exception.

carp

Carps message with the file/line of the first callsite not matching "_skip_namespace_frames" nor the closed-over arguments to use DBIx::Class::Carp.

carp_unique

Like "carp" but warns once for every distinct callsite (subject to the same ruleset as "carp").

carp_once

Like "carp" but warns only once for the life of the perl interpreter (regardless of callsite).