skeleton insert code
[dbsrgits/DBIx-Data-Store-old.git] / lib / DBIx / Data / Store.pm
CommitLineData
65b76960 1package DBIx::Data::Store;
2
3use Moose;
4use Method::Signatures::Simple;
5use DBIx::Connector;
6use DBIx::Data::Store::Command::Call;
7use DBIx::Data::Store::Command::Row;
8use DBIx::Data::Store::Command::Stream;
9
10has 'connection' => (is => 'ro', lazy_build => 1); # , isa => 'DBIx::Connector'
11
12has 'connect_info' => (is => 'ro', required => 1);
13
14method connect (@connect_info) { # for DBI heads because I'm kind
15 $self->new(
16 connect_info => \@connect_info
17 );
18}
19
20method _build_connection {
21 DBIx::Connector->new(@{$self->connect_info});
22}
23
24method new_call_command ($sql, $args) {
25 return DBIx::Data::Store::Command::Call->new(
26 run => $sql, with => $args, against => $self->connection
27 );
28}
29
3347c67e 30method new_row_command ($sql, $args, $column_order) {
65b76960 31 return DBIx::Data::Store::Command::Row->new(
3a2e7c1c 32 run => $sql, with => $args, against => $self->connection,
33 column_order => $column_order
65b76960 34 );
35}
36
3347c67e 37method new_stream_command ($sql, $args, $column_order) {
65b76960 38 return DBIx::Data::Store::Command::Stream->new(
3347c67e 39 run => $sql, with => $args, against => $self->connection,
40 column_order => $column_order
65b76960 41 );
42}
43
44__PACKAGE__->meta->make_immutable;
45
461;