for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* This file is part of CaptainHook.
*
* (c) Sebastian Feldmann <[email protected]>
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CaptainHook\Hook\Message\Validator\Rule;
use CaptainHook\Git\CommitMessage;
* Class UseImperativeMood
* @package CaptainHook
* @author Sebastian Feldmann <[email protected]>
* @link https://github.com/sebastianfeldmann/captainhook
* @since Class available since Release 0.9.0
class UseImperativeMood extends Base
{
* Constructor.
public function __construct()
$this->hint = 'Subject should be written in imperative mood';
}
* Check if commit message is written in imperative mood.
* @param \CaptainHook\Git\CommitMessage $msg
* @return bool
public function pass(CommitMessage $msg)
$lowerSubject = strtolower($msg->getSubject());
$blackList = [
'uploaded',
'updated',
'added',
'created',
];
foreach ($blackList as $term) {
if (strpos($lowerSubject, $term) !== false) {
$this->hint .= PHP_EOL . 'Invalid use of \'' . $term . '\'';
return false;
return true;