for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace EnergieProduction\Chart;
use closure;
use EnergieProduction\Chart\Renderable;
use EnergieProduction\Chart\Contracts\Expression;
class Option {
protected $options;
public function __construct()
{
$this->options = [];
}
/**
* [pushSubset description]
* @param string $subset
* @param \closure $closure
* @return void
*/
public function pushSubset($subset, closure $closure)
$option = new self;
call_user_func($closure, $option);
$render = new Renderable\Render();
$render = new Renderable\Subset($render);
$this->options = array_merge($this->options, $render->handle(
$subset,
$option->render()
));
* [pushCriteria description]
* @param mixed $criteria
public function pushCriteria($criteria)
$content = $criteria->getcontent();
$render = new Renderable\Criteria($render);
if ($content instanceof Expression) {
$render = new Renderable\Expression($render);
$content = $content->render();
$criteria->resolveKey(),
$content
* [render description]
* @return array
public function render()
return $this->options;