view release on metacpan or search on metacpan
- fixed packaging
1.04_01 2017-06-21T06:55:28Z
- added update_and_(fetch|emulate)_row method (mamimumemoomoo)
1.04 2017-05-28T13:03:12Z
- fixed range condition maker (thanks mamimumemoomoo)
- namespace cleaner switched to namespace::autoclean (thanks karenetheridge)
- throw more intelligibly error when calling update without data (thanks GeJ)
- droped typoed (obsoluted) `make_range_condtion` method
1.03 2017-03-29T11:24:39Z
- [EXPERIMENTAL] x_static_install=1 (no feature changes)
1.02 2017-02-10T06:14:56Z
- added lt/gt alias option for lower/upper (watanabe-yoichi)
"Mouse::Role" : "0",
"Mouse::Util::TypeConstraints" : "0",
"SQL::Maker" : "1.19",
"SQL::Maker::SQLType" : "0",
"SQL::NamedPlaceholder" : "0",
"SQL::QueryMaker" : "0",
"SQL::Translator::Schema::Constants" : "0",
"Scalar::Util" : "0",
"String::CamelCase" : "0",
"Try::Tiny" : "0",
"namespace::autoclean" : "0",
"parent" : "0",
"perl" : "5.014002"
}
},
"test" : {
"recommends" : {
"DBD::Pg" : "0",
"DBD::mysql" : "0",
"Test::mysqld" : "0",
"Test::postgresql" : "0"
Mouse::Role: '0'
Mouse::Util::TypeConstraints: '0'
SQL::Maker: '1.19'
SQL::Maker::SQLType: '0'
SQL::NamedPlaceholder: '0'
SQL::QueryMaker: '0'
SQL::Translator::Schema::Constants: '0'
Scalar::Util: '0'
String::CamelCase: '0'
Try::Tiny: '0'
namespace::autoclean: '0'
parent: '0'
perl: '5.014002'
resources:
bugtracker: https://github.com/karupanerura/Aniki/issues
homepage: https://github.com/karupanerura/Aniki
repository: git://github.com/karupanerura/Aniki.git
version: '1.06'
x_authority: cpan:KARUPA
x_contributors:
- 'Pine Mizune <pinemz@gmail.com>'
requires 'Mouse::Role';
requires 'Mouse::Util::TypeConstraints';
requires 'SQL::Maker', '1.19';
requires 'SQL::Maker::SQLType';
requires 'SQL::NamedPlaceholder';
requires 'SQL::QueryMaker';
requires 'SQL::Translator::Schema::Constants';
requires 'Scalar::Util';
requires 'String::CamelCase';
requires 'Try::Tiny';
requires 'namespace::autoclean';
requires 'parent';
requires 'perl', '5.014002';
recommends 'SQL::Maker::Plugin::JoinSelect';
recommends 'Data::WeightedRoundRobin';
on configure => sub {
requires 'Module::Build::Tiny', '0.035';
};
lib/Aniki.pm view on Meta::CPAN
package Aniki;
use 5.014002;
use namespace::autoclean;
use Mouse v2.4.5;
use Module::Load ();
use Aniki::Filter;
use Aniki::Handler;
use Aniki::Row;
use Aniki::Result::Collection;
use Aniki::Schema;
use Aniki::QueryBuilder;
use Aniki::QueryBuilder::Canonical;
lib/Aniki/Filter.pm view on Meta::CPAN
package Aniki::Filter;
use 5.014002;
use namespace::autoclean;
use Mouse v2.4.5;
has global_inflators => (
is => 'ro',
default => sub { [] },
);
has global_deflators => (
is => 'ro',
default => sub { [] },
lib/Aniki/Handler.pm view on Meta::CPAN
package Aniki::Handler;
use 5.014002;
use namespace::autoclean;
use Mouse;
use DBIx::Handler 0.12;
has connect_info => (
is => 'ro',
required => 1,
);
has on_connect_do => (
lib/Aniki/Handler/WeightedRoundRobin.pm view on Meta::CPAN
package Aniki::Handler::WeightedRoundRobin;
use 5.014002;
use namespace::autoclean;
use Mouse;
extends qw/Aniki::Handler/;
use DBI ();
use Data::WeightedRoundRobin;
use Scalar::Util qw/refaddr/;
around BUILDARGS => sub {
my $orig = shift;
my $self = shift;
lib/Aniki/Plugin/Count.pm view on Meta::CPAN
package Aniki::Plugin::Count;
use 5.014002;
use namespace::autoclean;
use Mouse::Role;
use Carp qw/croak/;
requires qw/query_builder dbh/;
sub count {
my ($self, $table, $column, $where, $opt) = @_;
$where //= {};
$column //= '*';
lib/Aniki/Plugin/Pager.pm view on Meta::CPAN
package Aniki::Plugin::Pager;
use 5.014002;
use namespace::autoclean;
use Mouse::Role;
use Carp qw/croak/;
requires qw/select/;
with qw/Aniki::Plugin::PagerInjector/;
with qw/Aniki::Plugin::RangeConditionMaker/;
sub select_with_pager {
my ($self, $table_name, $where, $opt) = @_;
lib/Aniki/Plugin/PagerInjector.pm view on Meta::CPAN
package Aniki::Plugin::PagerInjector;
use 5.014002;
use namespace::autoclean;
use Mouse::Role;
use Data::Page::NoTotalEntries;
use Aniki::Result::Role::Pager;
requires qw/guess_result_class/;
sub inject_pager_to_result {
my ($self, $result, $opt) = @_;
my $table_name = $result->table_name;
lib/Aniki/Plugin/RangeConditionMaker.pm view on Meta::CPAN
package Aniki::Plugin::RangeConditionMaker;
use 5.014002;
use namespace::autoclean;
use Mouse::Role;
use Carp qw/carp croak/;
use SQL::QueryMaker qw/sql_gt sql_lt sql_ge sql_le sql_and/;
sub make_range_condition {
my ($self, $range) = @_;
my %total_range_condition;
for my $type (qw/lower upper gt lt ge le/) {
lib/Aniki/Plugin/SQLPager.pm view on Meta::CPAN
package Aniki::Plugin::SQLPager;
use 5.014002;
use namespace::autoclean;
use Mouse::Role;
requires qw/select_by_sql select_named/;
with qw/Aniki::Plugin::PagerInjector/;
sub select_by_sql_with_pager {
my ($self, $sql, $bind, $opt) = @_;
$opt //= {};
my $page = $opt->{page} or Carp::croak("required parameter: page");
lib/Aniki/Plugin/SelectJoined.pm view on Meta::CPAN
package Aniki::Plugin::SelectJoined;
use 5.014002;
use namespace::autoclean;
use Mouse::Role;
use Aniki::QueryBuilder;
use Aniki::Result::Collection::Joined;
use Carp qw/croak/;
requires qw/schema query_builder suppress_row_objects txn_manager execute/;
Aniki::QueryBuilder->load_plugin('JoinSelect');
sub select_joined {
lib/Aniki/Plugin/WeightedRoundRobin.pm view on Meta::CPAN
package Aniki::Plugin::WeightedRoundRobin;
use 5.014002;
use namespace::autoclean;
use Mouse::Role;
use Aniki::Handler::WeightedRoundRobin;
sub handler_class { 'Aniki::Handler::WeightedRoundRobin' }
1;
__END__
=pod
lib/Aniki/Result.pm view on Meta::CPAN
package Aniki::Result;
use 5.014002;
use namespace::autoclean;
use Mouse v2.4.5;
has table_name => (
is => 'ro',
required => 1,
);
has suppress_row_objects => (
is => 'rw',
lazy => 1,
lib/Aniki/Result/Collection.pm view on Meta::CPAN
package Aniki::Result::Collection;
use 5.014002;
use namespace::autoclean;
use Mouse v2.4.5;
extends qw/Aniki::Result/;
use overload
'@{}' => sub { shift->rows },
fallback => 1;
has row_datas => (
is => 'ro',
required => 1,
lib/Aniki/Result/Collection/Joined.pm view on Meta::CPAN
package Aniki::Result::Collection::Joined;
use 5.014002;
use namespace::autoclean;
use Mouse v2.4.5;
extends qw/Aniki::Result::Collection/;
use Carp qw/croak/;
use Aniki::Row::Joined;
use List::MoreUtils qw/none/;
use List::UtilsBy qw/uniq_by/;
use Scalar::Util qw/refaddr/;
has '+table_name' => (
lib/Aniki/Result/Role/Pager.pm view on Meta::CPAN
package Aniki::Result::Role::Pager;
use 5.014002;
use namespace::autoclean;
use Mouse::Role;
use Mouse::Util::TypeConstraints qw/duck_type/;
has pager => (
is => 'rw',
isa => duck_type(qw/entries_per_page current_page entries_on_this_page/),
);
1;
__END__
lib/Aniki/Row.pm view on Meta::CPAN
package Aniki::Row;
use 5.014002;
use namespace::autoclean;
use Mouse v2.4.5;
use Carp qw/croak/;
has table_name => (
is => 'ro',
required => 1,
);
has row_data => (
is => 'ro',
lib/Aniki/Schema.pm view on Meta::CPAN
package Aniki::Schema;
use 5.014002;
use namespace::autoclean;
use Mouse v2.4.5;
use SQL::Translator::Schema::Constants;
use Carp qw/croak/;
use Aniki::Schema::Table;
has schema_class => (
is => 'ro',
required => 1,
);
lib/Aniki/Schema/Relationship.pm view on Meta::CPAN
package Aniki::Schema::Relationship;
use 5.014002;
use namespace::autoclean;
use Mouse v2.4.5;
use Aniki::Schema::Relationship::Fetcher;
use Lingua::EN::Inflect qw/PL/;
use Hash::Util::FieldHash qw/fieldhash/;
our @WORD_SEPARATORS = ('-', '_', ' ');
has schema => (
is => 'ro',
required => 1,
lib/Aniki/Schema/Relationship/Fetcher.pm view on Meta::CPAN
package Aniki::Schema::Relationship::Fetcher;
use 5.014002;
use namespace::autoclean;
use Mouse v2.4.5;
has relationship => (
is => 'ro',
weak_ref => 1,
required => 1,
);
use List::MoreUtils qw/pairwise notall/;
use List::UtilsBy qw/partition_by/;
lib/Aniki/Schema/Relationships.pm view on Meta::CPAN
package Aniki::Schema::Relationships;
use 5.014002;
use namespace::autoclean;
use Mouse v2.4.5;
use SQL::Translator::Schema::Constants;
use Aniki::Schema::Relationship;
has schema => (
is => 'ro',
required => 1,
weak_ref => 1,
);
lib/Aniki/Schema/Table.pm view on Meta::CPAN
package Aniki::Schema::Table;
use 5.014002;
use namespace::autoclean;
use Mouse v2.4.5;
use Carp qw/croak/;
use Aniki::Schema::Relationships;
use Aniki::Schema::Table::Field;
use Aniki::Schema::Table::PrimaryKey;
use SQL::Translator::Schema::Constants;
has _schema => (
is => 'ro',
required => 1,
lib/Aniki/Schema/Table/Field.pm view on Meta::CPAN
package Aniki::Schema::Table::Field;
use 5.014002;
use namespace::autoclean;
use Mouse v2.4.5;
use Carp qw/croak/;
has _field => (
is => 'ro',
required => 1,
);
has name => (
is => 'ro',
lib/Aniki/Schema/Table/PrimaryKey.pm view on Meta::CPAN
package Aniki::Schema::Table::PrimaryKey;
use 5.014002;
use namespace::autoclean;
use Mouse v2.4.5;
use Aniki::Schema::Table::Field;
use Carp qw/croak/;
has _primary_key => (
is => 'ro',
required => 1,
);
has _fields => (
view all matches for this distributionview release on metacpan - search on metacpan