1 package DBIx::Data::Store;
4 use Method::Signatures::Simple;
6 use DBIx::Data::Store::Command::Call;
7 use DBIx::Data::Store::Command::Row;
8 use DBIx::Data::Store::Command::Stream;
10 has 'connection' => (is => 'ro', lazy_build => 1); # , isa => 'DBIx::Connector'
12 has 'connect_info' => (is => 'ro', required => 1);
14 method connect (@connect_info) { # for DBI heads because I'm kind
16 connect_info => \@connect_info
20 method _build_connection {
21 DBIx::Connector->new(@{$self->connect_info});
24 method new_call_command ($sql, $args) {
25 return DBIx::Data::Store::Command::Call->new(
26 run => $sql, with => $args, against => $self->connection
30 method new_row_command ($sql, $args) {
31 return DBIx::Data::Store::Command::Row->new(
32 run => $sql, with => $args, against => $self->connection
36 method new_stream_command ($sql, $args) {
37 return DBIx::Data::Store::Command::Stream->new(
38 run => $sql, with => $args, against => $self->connection
42 __PACKAGE__->meta->make_immutable;