AnyEvent-Groonga
view release on metacpan or search on metacpan
lib/AnyEvent/Groonga.pm view on Meta::CPAN
package AnyEvent::Groonga;
use strict;
use warnings;
use Carp;
use AnyEvent;
use AnyEvent::Util qw(run_cmd);
use AnyEvent::HTTP;
use AnyEvent::Groonga::Result;
use File::Which qw(which);
use List::MoreUtils qw(any);
use URI;
use URI::Escape;
use JSON;
use Try::Tiny;
use Encode;
use base qw(Class::Accessor::Fast);
our $VERSION = '0.08';
__PACKAGE__->mk_accessors($_)
for qw( protocol host port groonga_path database_path command_list debug);
sub new {
my $class = shift;
my $self = $class->SUPER::new(
{ protocol => 'gqtp',
host => 'localhost',
port => '10041',
groonga_path => which("groonga") || undef,
database_path => undef,
command_list => [
qw(
cache_limit
check
clearlock
column_create
column_list
column_remove
define_selector
defrag
delete
dump
load
log_level
log_put
log_reopen
quit
select
shutdown
status
suggest
table_create
table_list
table_remove
view_add
)
],
@_
}
);
return $self;
}
sub call {
my $self = shift;
my $command = shift;
my $args_ref = shift;
croak( $command . " is not supported command" )
unless any { $command eq $_ } @{ $self->{command_list} };
if ( $self->protocol eq 'http' ) {
return $self->_post_to_http_server( $command, $args_ref );
}
( run in 0.830 second using v1.01-cache-2.11-cpan-99c4e6809bf )