File Coverage

lib/Finance/Alpaca/Struct/TradeUpdate.pm
Criterion Covered Total %
statement 36 36 100.0
branch n/a
condition n/a
subroutine 12 12 100.0
pod n/a
total 48 48 100.0


line stmt bran cond sub pod time code
1             package Finance::Alpaca::Struct::TradeUpdate 0.9904 {
2 17     17   136 use strictures 2;
  17         129  
  17         676  
3 17     17   3178 use feature 'signatures';
  17         37  
  17         1061  
4 17     17   106 no warnings 'experimental::signatures';
  17         36  
  17         761  
5             #
6 17     17   109 use Type::Library 0.008 -base, -declare => qw[TradeUpdate];
  17         316  
  17         115  
7 17     17   7688 use Type::Utils;
  17         40  
  17         105  
8 17     17   26296 use Types::Standard qw[Enum Num Ref Str];
  17         47  
  17         135  
9 17     17   19708 use Types::TypeTiny 0.004 StringLike => { -as => "Stringable" };
  17         321  
  17         133  
10             class_type TradeUpdate, { class => __PACKAGE__ };
11             coerce( TradeUpdate, from Ref() => __PACKAGE__ . q[->new($_)] );
12             #
13 17     17   6409 use Moo;
  17         41  
  17         120  
14 17     17   5858 use Types::UUID;
  17         39  
  17         120  
15 17     17   5889 use lib './lib';
  17         42  
  17         111  
16 17     17   2571 use Finance::Alpaca::Types;
  17         57  
  17         132  
17 17     17   5604 use Finance::Alpaca::Struct::Order qw[Order];
  17         40  
  17         130  
18             has event => (
19             is => 'ro',
20             isa => Enum [
21             qw[
22             new fill partial_fill canceled expired done_for_day replaced
23             rejected pending_new stopped pending_cancel pending_replace
24             calculated suspended
25             order_replace_rejected order_cancel_rejected]
26             ],
27             required => 1
28             );
29             has order => ( is => 'ro', isa => Order, required => 1, coerce => 1 );
30             has timestamp => ( is => 'ro', isa => Timestamp, predicate => 1, coerce => 1 );
31             has [qw[position_qty price qty]] => ( is => 'ro', isa => Num, predicate => 1 );
32             }
33             1;
34             __END__