Aniki

 view release on metacpan or  search on metacpan

author/benchmark.pl  view on Meta::CPAN

use strict;
use warnings;
use utf8;
use feature qw/say/;

use lib 'lib';
use SampleDbic::Schema;
use SampleAniki::DB;
use SampleAniki::DB::Schema;
use SampleTeng::DB;
use Benchmark qw/cmpthese timethese/;

my $aniki = SampleAniki::DB->new(connect_info => ["dbi:SQLite:dbname=:memory:", "", "", { ShowErrorStatement => 1 }]);

author/lib/SampleDbic/Schema.pm  view on Meta::CPAN

package SampleDbic::Schema;
use strict;
use warnings;
use utf8;

use parent qw/DBIx::Class::Schema/;
use SampleDbic::Schema::Author;
use SampleDbic::Schema::Module;

__PACKAGE__->register_class('Author', 'SampleDbic::Schema::Author');
__PACKAGE__->register_class('Module', 'SampleDbic::Schema::Module');

1;

author/lib/SampleDbic/Schema/Author.pm  view on Meta::CPAN

package SampleDbic::Schema::Author;
use strict;
use warnings;
use utf8;

use parent qw/DBIx::Class::Core/;

__PACKAGE__->table('author');
__PACKAGE__->add_columns(
    'id' => {
        'is_auto_increment' => 1,
        'is_nullable' => 0,
        'data_type' => 'INTEGER',
        'default_value' => undef,

author/lib/SampleDbic/Schema/Module.pm  view on Meta::CPAN

package SampleDbic::Schema::Module;
use strict;
use warnings;
use utf8;

use parent qw/DBIx::Class::Core/;

__PACKAGE__->table('module');
__PACKAGE__->add_columns(
    'id' => {
        'is_auto_increment' => 1,
        'data_type' => 'INTEGER',
        'size' => '0',
        'name' => 'id',

author/lib/SampleTeng/DB.pm  view on Meta::CPAN

package SampleTeng::DB;
use strict;
use warnings;
use utf8;
use parent qw/Teng/;

1;
__END__

script/install-aniki  view on Meta::CPAN

#!perl
use strict;
use warnings;
use utf8;

use Data::Section::Simple qw/get_data_section/;
use File::Spec;
use File::Path qw/make_path/;
use Getopt::Long qw/:config posix_default no_ignore_case bundling auto_help/;

GetOptions(\my %opt, qw/lib=s/) or die "Usage: $0 --lib=./lib MyApp::DB";
die "Usage: $0 --lib=./lib MyApp::DB" if grep { !exists $opt{$_}} qw/lib/;
my $prefix = shift @ARGV or die "Usage: $0 --lib=./lib MyApp::DB";

t/01_new.t  view on Meta::CPAN

use strict;
use warnings;
use utf8;

use Test::More;

use File::Spec;
use lib File::Spec->catfile('t', 'lib');
use t::DB;

t::DB->run_on_all_databases(sub {
    my $class = shift;

t/02_insert.t  view on Meta::CPAN

use strict;
use warnings;
use utf8;

use Test::More;

use File::Spec;
use lib File::Spec->catfile('t', 'lib');
use t::Util;

run_on_database {
    db->insert(author => { name => 'MOZNION' });
    is db->select(author => {}, { limit => 1 })->count, 1, 'created.';

t/03_insert_and_fetch_id.t  view on Meta::CPAN

use strict;
use warnings;
use utf8;

use Test::More;

use File::Spec;
use lib File::Spec->catfile('t', 'lib');
use t::Util;

run_on_database {
    my $id = db->insert_and_fetch_id(author => { name => 'MOZNION' });
    ok defined $id, 'id is defined.';

t/04_insert_and_fetch_row.t  view on Meta::CPAN

use strict;
use warnings;
use utf8;

use Test::More;

use File::Spec;
use lib File::Spec->catfile('t', 'lib');
use t::Util;

run_on_database {
    my $row = db->insert_and_fetch_row(author => { name => 'MOZNION' });
    ok defined $row, 'row is defined.';

t/05_insert_and_emulate_row.t  view on Meta::CPAN

use strict;
use warnings;
use utf8;

use Test::More;

use File::Spec;
use lib File::Spec->catfile('t', 'lib');
use t::Util;

run_on_database {
    my $row = db->insert_and_emulate_row(author => { name => 'MOZNION' });
    ok defined $row, 'row is defined.';

t/06_insert_multi.t  view on Meta::CPAN

use strict;
use warnings;
use utf8;

use Test::More;

use File::Spec;
use lib File::Spec->catfile('t', 'lib');
use t::Util;

use SQL::QueryMaker qw/sql_raw/;

run_on_database {

t/07_insert_on_duplicate.t  view on Meta::CPAN

use strict;
use warnings;
use utf8;

use Test::More;

use File::Spec;
use lib File::Spec->catfile('t', 'lib');
use t::Util;

use SQL::QueryMaker qw/sql_raw/;

run_on_each_databases [qw/MySQL/] => sub {

t/08_select.t  view on Meta::CPAN

use strict;
use warnings;
use utf8;

use Test::More;

use File::Spec;
use lib File::Spec->catfile('t', 'lib');
use t::Util;

run_on_database {
    db->insert(author => { name => 'MOZNION' });

t/09_update.t  view on Meta::CPAN

use strict;
use warnings;
use utf8;

use Test::More;

use File::Spec;
use lib File::Spec->catfile('t', 'lib');
use t::Util;

run_on_database {
    db->insert(author => { name => 'MOZNION' });
    db->update(author => { name => 'MOZNION2' }, { name => 'MOZNION' });

t/10_delete.t  view on Meta::CPAN

use strict;
use warnings;
use utf8;

use Test::More;

use File::Spec;
use lib File::Spec->catfile('t', 'lib');
use t::Util;

run_on_database {
    db->insert(author => { name => 'MOZNION' });
    db->insert(author => { name => 'MOZNION2' });

t/11_relay.t  view on Meta::CPAN

use strict;
use warnings;
use utf8;

use Test::More;

use File::Spec;
use lib File::Spec->catfile('t', 'lib');
use t::Util;

run_on_database {
    my $moznion_id = db->insert_and_fetch_id(author => { name => 'MOZNION' });
    my @moznion_module_ids = (

t/12_new_row_from_hashref.t  view on Meta::CPAN

use strict;
use warnings;
use utf8;

use Test::More;

use File::Spec;
use lib File::Spec->catfile('t', 'lib');
use t::Util;

run_on_database {
    my $karupa = db->new_row_from_hashref(author => { name => 'KARUPA' });
    isa_ok $karupa, 't::DB::Row::Author';

t/13_new_collection_from_arrayref.t  view on Meta::CPAN

use strict;
use warnings;
use utf8;

use Test::More;

use File::Spec;
use lib File::Spec->catfile('t', 'lib');
use t::Util;

run_on_database {
    subtest 'non empty' => sub {
        my $authors = db->new_collection_from_arrayref(author => [{ name => 'KARUPA' }, { name => 'PAPIX' }]);

t/14_update_and_fetch_row.t  view on Meta::CPAN

use strict;
use warnings;
use utf8;

use Test::More;

use File::Spec;
use lib File::Spec->catfile('t', 'lib');
use t::Util;

run_on_database {
    my $row = db->insert_and_fetch_row(author => { name => 'MOZNION' });
    subtest 'assert default (in|de)flate_message' => sub {

t/15_update_and_emulate_row.t  view on Meta::CPAN

use strict;
use warnings;
use utf8;

use Test::More;

use File::Spec;
use lib File::Spec->catfile('t', 'lib');
use t::Util;

run_on_database {
    my $row = db->insert_and_fetch_row(author => { name => 'MOZNION' });
    subtest 'assert default (in|de)flate_message' => sub {

t/filter/declare/basic.t  view on Meta::CPAN

use strict;
use warnings;
use utf8;

use Test::More;

package MyProj::DB::Filter {
    use Aniki::Filter::Declare;

    table hoge => sub {
        inflate foo => sub {
            my $value = shift;
            return "hoge_inflate_$value";

t/filter/deflate/basic.t  view on Meta::CPAN

use strict;
use warnings;
use utf8;

use Test::More;
use Aniki::Filter;

subtest 'global deflator only' => sub {
    my $filter = Aniki::Filter->new();
    $filter->add_global_deflator(foo => sub {
        my $value = shift;
        return "global_$value";
    });

t/filter/deflate/regex.t  view on Meta::CPAN

use strict;
use warnings;
use utf8;

use Test::More;
use Aniki::Filter;

subtest 'global deflator only' => sub {
    my $filter = Aniki::Filter->new();
    $filter->add_global_deflator(qr/foo/ => sub {
        my $value = shift;
        return "global_$value";
    });

t/filter/deflate_and_inflate.t  view on Meta::CPAN

use strict;
use warnings;
use utf8;

use Test::More;
use Aniki::Filter;

my @PATTERN = (
    [hoge => { foo  => 'foo_value'  }],
    [fuga => { foo  => 'foo_value'  }],
    [hoge => { foo2 => 'foo2_value' }],
    [fuga => { foo2 => 'foo2_value' }],
);

t/filter/inflate/basic.t  view on Meta::CPAN

use strict;
use warnings;
use utf8;

use Test::More;
use Aniki::Filter;

subtest 'global inflator only' => sub {
    my $filter = Aniki::Filter->new();
    $filter->add_global_inflator(foo => sub {
        my $value = shift;
        return "global_$value";
    });

t/filter/inflate/regex.t  view on Meta::CPAN

use strict;
use warnings;
use utf8;

use Test::More;
use Aniki::Filter;

subtest 'global inflator only' => sub {
    my $filter = Aniki::Filter->new();
    $filter->add_global_inflator(qr/foo/ => sub {
        my $value = shift;
        return "global_$value";
    });

t/filter/trigger/basic.t  view on Meta::CPAN

use strict;
use warnings;
use utf8;

use Test::More;
use Aniki::Filter;

subtest 'global trigger only' => sub {
    my $filter = Aniki::Filter->new();
    $filter->add_global_trigger(insert => sub {
        my ($row, $next) = @_;
        $row->{baz}++;
        return $next->($row);

t/handler/weighted_round_robin.t  view on Meta::CPAN

use strict;
use warnings;
use utf8;

use Test::More;
use Test::Requires qw(Data::WeightedRoundRobin);

use File::Spec;
use lib File::Spec->catfile('t', 'lib');

use Aniki::Handler::WeightedRoundRobin;
use List::Util qw/reduce/;
use List::MoreUtils qw/apply/;

t/lib/t/DB/Filter.pm  view on Meta::CPAN

package t::DB::Filter;
use strict;
use warnings;
use utf8;

use Aniki::Filter::Declare;

table author => sub {
    inflate 'inflate_message' => sub {
        my $value = shift;
        return "inflate $value";
    };
    deflate 'deflate_message' => sub {
        my $value = shift;



( run in 1.365 second using v1.01-cache-2.11-cpan-49f99fa48dc )