protected function registerTypeDefinitions() { parent::registerTypeDefinitions(); $this->addTypeFormatter("\\Rhubarb\\Stem\\Schema\\Columns\\Money", function (Company $model, $value) { return number_format($value, 2); }); $this->addTypeDecorator("\\Rhubarb\\Stem\\Schema\\Columns\\Date", function (Company $model, $value) { return $value->format("jS F Y"); }); }
public function testDecoratorIsSingleton() { $company = new Company(); $decorator = DataDecorator::getDecoratorForModel($company); $decorator->singletonMonitor = true; $decorator = DataDecorator::getDecoratorForModel($company); $this->assertTrue($decorator->singletonMonitor); $example = new Example(); $decorator = DataDecorator::getDecoratorForModel($example); $this->assertFalse($decorator->singletonMonitor); }
/** * Gets the most appropriate decorator for this model. * * @return DataDecorator */ public function getDecorator() { return DataDecorator::getDecoratorForModel($this); }
protected function initialise() { SolutionSchema::registerSchema('CommunicationsSolutionSchema', CommunicationsSolutionSchema::class); DataDecorator::registerDecoratorClass(CommunicationDecorator::class, CommunicationItem::class); DataDecorator::registerDecoratorClass(CommunicationDecorator::class, Communication::class); }