DBIx-ObjectMapper
view release on metacpan or search on metacpan
lib/DBIx/ObjectMapper/Log.pm view on Meta::CPAN
Log::Any::Adapter->set(
{ category => qr/^DBIx::ObjectMapper/ },
'Dispatch',
outputs => [
[
'Screen',
min_level => $min_level,
newline => 1,
]
],
callbacks => sub {
my %param = @_;
return sprintf("[%s] %s", $param{level}, $param{message});
}
);
};
1;
lib/DBIx/ObjectMapper/Mapper/Attribute/Property.pm view on Meta::CPAN
my @TYPES = qw(column relation);
sub new {
my $class = shift;
my %prop = validate(
@_,
{
isa => +{
type => OBJECT,
callbacks => {
check_duck_type => sub {
$_[0]->can('name') && $_[0]->can('validation');
}
}
},
lazy => +{ type => BOOLEAN, default => 0 },
validation => +{ type => BOOLEAN, default => 0 },
getter => +{ type => SCALAR },
setter => +{ type => SCALAR },
}
lib/DBIx/ObjectMapper/Mapper/Constructor.pm view on Meta::CPAN
sub new {
my $class = shift;
my $mapper = shift;
my %option = validate(
@_,
{ name => { type => SCALAR, default => 'new' },
arg_type => {
type => SCALAR,
default => 'HASHREF',
callbacks => { valid_arg => \&is_valid_arg_type }
},
auto => { type => BOOLEAN, default => 0 },
},
);
return bless \%option, $class;
}
sub is_valid_arg_type { grep { $_[0] eq $_ } @CONSTRUCTOR_ARGUMENT_TYPES }
lib/DBIx/ObjectMapper/Session.pm view on Meta::CPAN
my %attr = validate(
@_,
{ engine => { type => OBJECT, isa => 'DBIx::ObjectMapper::Engine' },
autocommit => { type => BOOLEAN, default => 1 },
autoflush => { type => BOOLEAN, default => 0 },
share_object => { type => BOOLEAN, default => 0 },
no_cache => { type => BOOLEAN, default => 0 },
cache => {
type => OBJECT,
callbacks => {
'ducktype' => sub {
( grep { $_[0]->can($_) } qw(get set remove) ) == 3;
}
},
default => DBIx::ObjectMapper::Session::Cache->new()
},
search_class =>
{ type => SCALAR, default => $DEFAULT_SEARCH_CLASS },
change_checker => {
type => OBJECT,
( run in 0.333 second using v1.01-cache-2.11-cpan-9b1e4054eb1 )