| Code Coverage | ||||||||||
| Classes and Traits | Functions and Methods | Lines | ||||||||
| Total |  | 100.00% | 1 / 1 |  | 100.00% | 3 / 3 | CRAP |  | 100.00% | 8 / 8 | 
| DataTraveller |  | 100.00% | 1 / 1 |  | 100.00% | 3 / 3 | 4 |  | 100.00% | 8 / 8 | 
| get |  | 100.00% | 1 / 1 | 2 |  | 100.00% | 5 / 5 | |||
| isDisableRegexSteps |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 1 / 1 | |||
| setDisableRegexSteps |  | 100.00% | 1 / 1 | 1 |  | 100.00% | 2 / 2 | |||
| <?php | |
| /** | |
| * Copyright (c) Tony Bogdanov <tonybogdanov@gmail.com> | |
| * | |
| * For the full copyright and license information, please view the LICENSE | |
| * file that was distributed with this source code. | |
| */ | |
| namespace DataTraveller; | |
| use DataExpectation\Exceptions\UnexpectedDataException; | |
| use DataExpectation\ExpectationInterface; | |
| use DataTraveller\Exceptions\MissingDataException; | |
| use DataTraveller\Path\Exceptions\InvalidPathException; | |
| use DataTraveller\Path\Path; | |
| /** | |
| * Class DataTraveller | |
| * | |
| * @package DataTraveller | |
| * @author Tony Bogdanov <tonybogdanov@gmail.com> | |
| */ | |
| class DataTraveller { | |
| /** | |
| * @var bool | |
| */ | |
| protected $disableRegexSteps = false; | |
| /** | |
| * @param string $path | |
| * @param $data | |
| * @param ExpectationInterface $expectation | |
| * | |
| * @return mixed | |
| * @throws InvalidPathException | |
| * @throws MissingDataException | |
| * @throws UnexpectedDataException | |
| */ | |
| public function get( string $path, $data, ExpectationInterface $expectation = null ) { | |
| $path = Path::parse( $path, $this->isDisableRegexSteps() ); | |
| $value = $path->get( $data ); | |
| if ( isset( $expectation ) ) { | |
| $expectation->expect( $value, $path ); | |
| } | |
| return $value; | |
| } | |
| /** | |
| * @return bool | |
| */ | |
| public function isDisableRegexSteps(): bool { | |
| return $this->disableRegexSteps; | |
| } | |
| /** | |
| * @param bool $disableRegexSteps | |
| * | |
| * @return $this | |
| */ | |
| public function setDisableRegexSteps( bool $disableRegexSteps ) { | |
| $this->disableRegexSteps = $disableRegexSteps; | |
| return $this; | |
| } | |
| } |