File Coverage

blib/lib/App/RecordStream/Aggregator/Array.pm
Criterion Covered Total %
statement 22 25 88.0
branch n/a
condition n/a
subroutine 8 11 72.7
pod 0 5 0.0
total 30 41 73.1


line stmt bran cond sub pod time code
1             package App::RecordStream::Aggregator::Array;
2              
3             our $VERSION = "4.0.23";
4              
5 6     6   17153 use strict;
  6         17  
  6         145  
6 6     6   28 use warnings;
  6         15  
  6         134  
7              
8 6     6   460 use App::RecordStream::Aggregator::MapReduce::Field;
  6         14  
  6         122  
9 6     6   328 use App::RecordStream::Aggregator;
  6         12  
  6         117  
10 6     6   358 use App::RecordStream::DomainLanguage::Registry;
  6         15  
  6         133  
11              
12 6     6   28 use base 'App::RecordStream::Aggregator::MapReduce::Field';
  6         11  
  6         1090  
13              
14             sub map_field {
15 16     16 0 40 my ($this, $value) = @_;
16              
17 16         60 return [$value];
18             }
19              
20             sub reduce {
21 12     12 0 25 my ($this, $cookie, $cookie2) = @_;
22              
23 12         72 return [@$cookie, @$cookie2];
24             }
25              
26             sub long_usage {
27 0     0 0   return <
28             Usage: array,
29             Collect values from specified field into an array.
30             EOF
31             }
32              
33             sub short_usage {
34 0     0 0   return "collect values from provided field into an array";
35             }
36              
37             sub argct {
38 0     0 0   return 1;
39             }
40              
41             App::RecordStream::Aggregator->register_implementation('array', __PACKAGE__);
42              
43             App::RecordStream::DomainLanguage::Registry::register_vfn(__PACKAGE__, 'new_from_valuation', 'array', 'VALUATION');
44              
45             1;