The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.