Finance-Bitcoin-Feed
view release on metacpan or search on metacpan
lib/Finance/Bitcoin/Feed/Site/BitStamp/Socket.pm view on Meta::CPAN
package Finance::Bitcoin::Feed::Site::BitStamp::Socket;
use strict;
use warnings;
use parent qw(Finance::Bitcoin::Feed::Pusher);
use Scalar::Util qw(weaken);
sub new {
my $self = shift->SUPER::new(channels => [qw/live_trades/]);
$self->{owner} = shift;
#weaken it to prevent from crossing reference
weaken($self->{owner});
return $self;
}
sub trade {
my $self = shift;
my $data = shift;
$self->{owner}->emit('data_out', 0, "BTCUSD", $data->{price});
return;
}
lib/Finance/Bitcoin/Feed/Site/BtcChina/Socket.pm view on Meta::CPAN
package Finance::Bitcoin::Feed::Site::BtcChina::Socket;
use JSON;
use Mojo::Base 'Mojo::Transaction::WebSocket';
use Scalar::Util qw(weaken);
has 'owner';
has 'ping_interval';
has 'ping_timeout';
has 'last_ping_at';
has 'last_pong_at';
has 'timer';
sub configure {
my $self = shift;
my $owner = shift;
$self->owner($owner);
weaken($self->{owner});
# call parse when receive text event
$self->on(
text => sub {
my ($self, $message) = @_;
$self->parse($message);
});
################################################
# setup events
lib/Finance/Bitcoin/Feed/Site/CoinSetter/Socket.pm view on Meta::CPAN
package Finance::Bitcoin::Feed::Site::CoinSetter::Socket;
use JSON;
use Scalar::Util qw(weaken);
use Mojo::Base 'Mojo::Transaction::WebSocket';
has 'owner';
sub configure {
my $self = shift;
my $owner = shift;
$self->owner($owner);
weaken($self->{owner});
# call parse when receive text event
$self->on(
text => sub {
my ($self, $message) = @_;
$self->parse($message);
});
################################################
# setup events
lib/Finance/Bitcoin/Feed/Site/LakeBtc/Socket.pm view on Meta::CPAN
package Finance::Bitcoin::Feed::Site::LakeBtc::Socket;
use JSON;
use Mojo::Base 'Mojo::Transaction::WebSocket';
use Scalar::Util qw(weaken);
has 'owner';
sub configure {
my $self = shift;
my $owner = shift;
$self->owner($owner);
weaken($self->{owner});
# call parse when receive text event
$self->on(
json => sub {
my ($self, $message) = @_;
$message = $message->[0];
my $command = shift @$message;
$self->emit($command, $message);
});
( run in 0.286 second using v1.01-cache-2.11-cpan-1f129e94a17 )