<?php namespace Drupal\my_module\Wrapper; use Drupal\Component\Datetime\TimeInterface; use Drupal\node\NodeInterface; class ArticleWrapper { private $article; public function __construct(TimeInterface $time, NodeInterface $node) { $this->verifyNodeType($node); $this->time = $time; $this->article = $node; } public function getOriginal(): NodeInterface { return $this->article; } private function verifyNodeType(NodeInterface $node): void { if ($node->bundle() != 'article') { throw new \InvalidArgumentException(sprintf( '%s is not an article', $node->bundle() )); } } public function isPublishable(): bool { $created = $this->article->getCreatedTime(); $difference = $this->time->getRequestTime() - $created; return $difference >= 60 * 60 * 24 * 3; } }