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 1.772 second using v1.01-cache-2.11-cpan-9b1e4054eb1 )