summaryrefslogblamecommitdiff
path: root/lib/AnyEvent/Riak/Role/CVCB.pm
blob: 73812c219784886d5b97046169b865bc8549f055 (plain) (tree)
1
2
3
4
5
6
7
8
9

                                   
                                                                 
 
                
 
           

                              



                                                                                   




               
 
package AnyEvent::Riak::Role::CVCB;

# ABSTRACT: return a default condvar and callback if none defined

use Moose::Role;

sub _cvcb {
    my ($self, $options) = @_;

    my ($cv, $cb) = (AnyEvent->condvar, sub { return @_ });
    if ($options && @$options) {
        $cv = pop @$options if UNIVERSAL::isa($options->[-1], 'AnyEvent::CondVar');
        $cb = pop @$options if ref $options->[-1] eq 'CODE';
    }
    ($cv, $cb);
}

1;