* @author Connor S. Parks */ class MetricsComposer { /** * The illuminate config instance. * * @var \Illuminate\Contracts\Config\Repository */ protected $config; /** * Create a new metrics composer instance. * * @param \Illuminate\Contracts\Config\Repository $config * * @return void */ public function __construct(Repository $config) { $this->config = $config; } /** * Bind data to the view. * * @param \Illuminate\Contracts\View\View $view * * @return void */ public function compose(View $view) { $metrics = null; if ($displayMetrics = $this->config->get('setting.display_graphs')) { $metrics = Metric::displayable()->orderBy('order')->orderBy('id')->get(); } $view->withDisplayMetrics($displayMetrics) ->withMetrics($metrics); } }