NAME

Bif::Client - client for communication with a bif hub

VERSION

0.1.2 (2014-10-08)

SYNOPSIS

use strict;
use warnings;
use AnyEvent;
use App::bif;
use Bif::Client;

my $ctx = App::bif->new( {} );
my $client = Bif::Client->new(
    db       => $ctx->dbw,
    location => $LOCATION,
);

# Bif::Client is a Coro::Handle user so you want
# to do things inside a coroutine
async {
    select $App::bif::pager->fh if $opts->{debug};

    $client->pull_hub;
};

AnyEvent->condvar->recv;

DESCRIPTION

Bif::Client is a class for communicating with a bif hub.

CONSTRUCTOR

Bif::Client->new( db => $dbh, hub => $location )

ATTRIBUTES

db
debug
child
child_watcher
debug_bifsync
hub_id
location
changes_sent
changes_recv
on_update
rh
wh
json
on_error

METHODS

pull_hub
sync_hub($hub_id)

Compares the hub_related_changes table in the local repository against the same table on the hub and exchanges changes cntil they are the same. This method only results in project-only changes.

import_project
sync_project
export_project
disconnect

SEE ALSO

Bif::Server

AUTHOR

Mark Lawrence <nomad@null.net>

COPYRIGHT AND LICENSE

Copyright 2014 Mark Lawrence <nomad@null.net>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.