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

package MyApp::Controller::Root
...
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.