The Perl Toolchain Summit 2025 Needs You: You can help 🙏 Learn more

NAME

Catalyst::Model::Tarantool - DR::Tarantool interface

SYNOPSIS

MyApp.pm

package MyApp;
...
__PACKAGE__->config(
'Tarantool' => {
host => '128.0.0.1',
port => '33013'
spaces => {
0 => {
name => 'spane_name', # space name
default_type => 'STR', # undescribed fields
fields => [
qw( field_1 field_2 ),
{
name => 'firld_3',
type => 'NUM'
},
],
indexes => {
0 => 'field_1',
1 => [ qw( field_1 field_2 ) ],
2 => {
name => 'me_idx_1',
fields => 'field_1'
},
3 => {
name => 'my_idx_2',
fields => [ 'field_1', 'field_3' ]
}
}
},
1 => {
...
}
}
}
);

Controller

...
sub index :Path :Args(0) {
my ( $self, $c ) = @_;
my $tnt = $c->model('TNT')->handler;
my $tuple = $tnt->select(space_name => $key);
}

DESCRIPTION

Tarantool interface for Catalyst based application DR::Tarantool.

AUTHOR

Alexey Orlov, <aorlov@cpan.org>

COPYRIGHT AND LICENSE

Copyright (C) 2013 by Alexey Orlov

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.14.2 or, at your option, any later version of Perl 5 you may have available.