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);
 }
Example #3
0
 /**
  * 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);
 }