public function testMissingData() { $jobConfig = JobConfig::create(['endpoint' => 'ep', 'responseFilter' => 'out.arr[].in']); $filter = Filter::create($jobConfig); $data = [(object) ['id' => 1, 'out' => (object) ['arr' => [(object) ['in' => 'string'], (object) ['uh' => 'no "in" here!'], (object) ['in' => ['str', 'ing']]]]]]; self::assertEquals([(object) ['id' => 1, 'out' => (object) ['arr' => [(object) ['in' => 'string'], (object) ['uh' => 'no "in" here!'], (object) ['in' => '["str","ing"]']]]]], $filter->run($data)); }
/** * Filters the $data array according to * $config->getConfig()['responseFilter'] and * returns the filtered array * * @param JobConfig $config * @param array $data * @return array * @todo allow nesting * @todo turn into a module */ protected function filterResponse(JobConfig $config, array $data) { $filter = Filter::create($config); return $filter->run($data); }