App-RecordStream
    
    
  
  
  
view release on metacpan or search on metacpan
lib/App/RecordStream/Operation/frommongo.pm view on Meta::CPAN
  $this->{'QUERY'}          = $json->decode($query);
}
sub wants_input {
  return 0;
}
sub stream_done {
  my $this = shift;
  my $cursor = $this->get_query();
  while (my $object = $cursor->next()) {
    $this->push_record($object);
  }
}
sub get_query {
  my $this = shift;
  # this momoization is really just a hook for tests
  if ($this->{'CURSOR'}) {
    return $this->{'CURSOR'};
    
  
  
  tests/RecordStream/Operation/frommongo.pm view on Meta::CPAN
};
my $keeper = App::RecordStream::Test::OperationHelper::Keeper->new();
my $op = App::RecordStream::Operation::frommongo->new(
  [qw(--host localhost --name my_db --user foo --pass bar --query {} --collection zip)],
  $keeper
);
ok($op, "Frommongo initialized");
my $cursor = MockCursor->new([
  {foo => 'bar',  zip => 2},
  {zap => 'blah', car => 8},
]);
$op->{'CURSOR'} = $cursor;
$op->finish();
my $solution = [
  {foo => 'bar',  zip => 2},
  {zap => 'blah', car => 8},
];
is_deeply($keeper->get_records(), $solution, "Records from Cursor are output");
    
  
  
  
( run in 0.262 second using v1.01-cache-2.11-cpan-a1d94b6210f )