Skip to content

Commit 833be12

Browse files
committed
- Removed CommitMessageStorage class
- Replaced usage of CommitMessageStorage with GitHelper in Console/Commands/* classes - Added getCommitMessageContentFromFile and updateCommitMessageContentInFile methods to GitHelper class - Updated WithCommitMessages trait to use new methods from GitHelper instead of old ones from removed CommitMesageStorage class
1 parent 27162bc commit 833be12

12 files changed

+79
-171
lines changed

src/CommitMessageStorage.php

Lines changed: 0 additions & 22 deletions
This file was deleted.

src/Console/Commands/CommitMessage.php

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
namespace Igorsgm\GitHooks\Console\Commands;
44

5-
use Igorsgm\GitHooks\Contracts\CommitMessageStorage;
65
use Igorsgm\GitHooks\Contracts\HookCommand;
76
use Igorsgm\GitHooks\Traits\WithCommitMessage;
87
use Illuminate\Console\Command;
@@ -23,15 +22,6 @@ class CommitMessage extends Command implements HookCommand
2322
*/
2423
protected $description = 'Run hook commit-msg';
2524

26-
/**
27-
* @param CommitMessageStorage $messageStorage
28-
*/
29-
public function __construct(CommitMessageStorage $messageStorage)
30-
{
31-
parent::__construct();
32-
$this->messageStorage = $messageStorage;
33-
}
34-
3525
/**
3626
* {@inheritDoc}
3727
*/

src/Console/Commands/PrepareCommitMessage.php

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
namespace Igorsgm\GitHooks\Console\Commands;
44

5-
use Igorsgm\GitHooks\Contracts\CommitMessageStorage;
65
use Igorsgm\GitHooks\Contracts\HookCommand;
76
use Igorsgm\GitHooks\Traits\WithCommitMessage;
87
use Illuminate\Console\Command;
@@ -25,15 +24,6 @@ class PrepareCommitMessage extends Command implements HookCommand
2524
*/
2625
protected $description = 'Run hook prepare-commit-msg';
2726

28-
/**
29-
* @param CommitMessageStorage $messageStorage
30-
*/
31-
public function __construct(CommitMessageStorage $messageStorage)
32-
{
33-
parent::__construct();
34-
$this->messageStorage = $messageStorage;
35-
}
36-
3727
/**
3828
* Get hook name
3929
*

src/Contracts/CommitMessageStorage.php

Lines changed: 0 additions & 22 deletions
This file was deleted.

src/Git/GitHelper.php

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,26 @@ private static function execAndGetCommandOutput($commands)
3939

4040
return $process->getOutput();
4141
}
42+
43+
/**
44+
* Get commit message content form local file
45+
*
46+
* @param string $filePath
47+
* @return string
48+
*/
49+
public static function getCommitMessageContentFromFile(string $filePath): string
50+
{
51+
return file_get_contents($filePath);
52+
}
53+
54+
/**
55+
* Update commit message in local file
56+
*
57+
* @param string $path
58+
* @param string $message
59+
*/
60+
public static function updateCommitMessageContentInFile(string $path, string $message): void
61+
{
62+
file_put_contents($path, $message);
63+
}
4264
}

src/GitHooksServiceProvider.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,5 @@ public function register()
3939
$this->app->singleton('laravel-git-hooks', function () {
4040
return new GitHooks;
4141
});
42-
43-
$this->app->bind(Contracts\CommitMessageStorage::class, CommitMessageStorage::class);
4442
}
4543
}

src/Traits/WithCommitMessage.php

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,37 +3,25 @@
33
namespace Igorsgm\GitHooks\Traits;
44

55
use Closure;
6-
use Igorsgm\GitHooks\Contracts\CommitMessageStorage;
76
use Igorsgm\GitHooks\Exceptions\HookFailException;
87
use Igorsgm\GitHooks\Git\ChangedFiles;
98
use Igorsgm\GitHooks\Git\CommitMessage;
109
use Igorsgm\GitHooks\Git\GitHelper;
11-
use Illuminate\Contracts\Config\Repository;
1210

1311
trait WithCommitMessage
1412
{
1513
use WithPipeline;
1614

17-
/**
18-
* @var Repository
19-
*/
20-
protected $config;
21-
22-
/**
23-
* @var CommitMessageStorage
24-
*/
25-
protected $messageStorage;
26-
2715
/**
2816
* Execute the console command.
2917
*/
3018
public function handle()
3119
{
32-
$file = $this->argument('file');
33-
34-
$message = $this->messageStorage->get(base_path($file));
35-
3620
try {
21+
$message = GitHelper::getCommitMessageContentFromFile(
22+
$this->getMessagePath()
23+
);
24+
3725
$this->sendMessageThroughHooks(
3826
new CommitMessage(
3927
$message,
@@ -79,7 +67,7 @@ protected function sendMessageThroughHooks(CommitMessage $message): void
7967
protected function storeMessage(): Closure
8068
{
8169
return function (CommitMessage $message) {
82-
$this->messageStorage->update(
70+
GitHelper::updateCommitMessageContentInFile(
8371
$this->getMessagePath(),
8472
(string) $message
8573
);

tests/CommitMessageStorageTest.php

Lines changed: 0 additions & 34 deletions
This file was deleted.

tests/Console/Commands/CommitMessageTest.php

Lines changed: 8 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,14 @@ class CommitMessageTest extends TestCase
1616
{
1717
public function test_get_command_name()
1818
{
19-
$commitMessageStorage = $this->makeCommitMessageStorage();
20-
21-
$command = new CommitMessage($commitMessageStorage);
19+
$command = new CommitMessage();
2220

2321
$this->assertEquals('git-hooks:commit-msg', $command->getName());
2422
}
2523

2624
public function test_requires_file_argument()
2725
{
28-
$commitMessageStorage = $this->makeCommitMessageStorage();
29-
30-
$command = new CommitMessage($commitMessageStorage);
26+
$command = new CommitMessage();
3127

3228
$this->assertTrue($command->getDefinition()->hasArgument('file'));
3329
}
@@ -41,17 +37,7 @@ public function test_a_message_should_be_send_through_the_hook_pipes()
4137
],
4238
]);
4339

44-
$commitMessageStorage = $this->makeCommitMessageStorage();
45-
46-
$commitMessageStorage
47-
->expects('get')
48-
->andReturns('Test commit');
49-
50-
$commitMessageStorage
51-
->expects('update')
52-
->with(base_path('tmp/COMMIT_MESSAGE'), 'Test commit hook1 hook2');
53-
54-
$command = new CommitMessage($commitMessageStorage);
40+
$command = new CommitMessage();
5541

5642
$input = Mockery::mock(\Symfony\Component\Console\Input\InputInterface::class);
5743
$input->allows('getArgument')
@@ -71,6 +57,8 @@ public function test_a_message_should_be_send_through_the_hook_pipes()
7157

7258
$gitHelper = Mockery::mock('alias:'.GitHelper::class);
7359
$gitHelper->expects('getListOfChangedFiles')->andReturns('AM src/ChangedFiles.php');
60+
$gitHelper->expects('getCommitMessageContentFromFile')->andReturns('Test commit');
61+
$gitHelper->expects('updateCommitMessageContentInFile')->with(base_path('tmp/COMMIT_MESSAGE'), 'Test commit hook1 hook2');
7462

7563
$this->assertEquals(0, $command->handle());
7664

@@ -88,17 +76,7 @@ public function test_pass_hook_config_into_hook_object()
8876
],
8977
]);
9078

91-
$commitMessageStorage = $this->makeCommitMessageStorage();
92-
93-
$commitMessageStorage
94-
->expects('get')
95-
->andReturns('Test commit');
96-
97-
$commitMessageStorage
98-
->expects('update')
99-
->with(base_path('tmp/COMMIT_MESSAGE'), 'Test commit hello world');
100-
101-
$command = new CommitMessage($commitMessageStorage);
79+
$command = new CommitMessage();
10280

10381
$input = Mockery::mock(\Symfony\Component\Console\Input\InputInterface::class);
10482
$input->allows('getArgument')
@@ -115,6 +93,8 @@ public function test_pass_hook_config_into_hook_object()
11593

11694
$gitHelper = Mockery::mock('alias:'.GitHelper::class);
11795
$gitHelper->expects('getListOfChangedFiles')->andReturns('AM src/ChangedFiles.php');
96+
$gitHelper->expects('getCommitMessageContentFromFile')->andReturns('Test commit');
97+
$gitHelper->expects('updateCommitMessageContentInFile')->with(base_path('tmp/COMMIT_MESSAGE'), 'Test commit hello world');
11898

11999
$this->assertEquals(0, $command->handle());
120100

tests/Console/Commands/PrepareCommitMessageTest.php

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,14 @@ class PrepareCommitMessageTest extends TestCase
1616
{
1717
public function test_get_command_name()
1818
{
19-
$commitMessageStorage = $this->makeCommitMessageStorage();
20-
21-
$command = new PrepareCommitMessage($commitMessageStorage);
19+
$command = new PrepareCommitMessage();
2220

2321
$this->assertEquals('git-hooks:prepare-commit-msg', $command->getName());
2422
}
2523

2624
public function test_requires_file_argument()
2725
{
28-
$commitMessageStorage = $this->makeCommitMessageStorage();
29-
30-
$command = new PrepareCommitMessage($commitMessageStorage);
26+
$command = new PrepareCommitMessage();
3127

3228
$this->assertTrue($command->getDefinition()->hasArgument('file'));
3329
}
@@ -41,17 +37,7 @@ public function test_a_message_should_be_send_through_the_hook_pipes()
4137
],
4238
]);
4339

44-
$commitMessageStorage = $this->makeCommitMessageStorage();
45-
46-
$commitMessageStorage
47-
->expects('get')
48-
->andReturns('Test commit');
49-
50-
$commitMessageStorage
51-
->expects('update')
52-
->with(base_path('tmp/COMMIT_MESSAGE'), 'Test commit hook1 hook2');
53-
54-
$command = new PrepareCommitMessage($commitMessageStorage);
40+
$command = new PrepareCommitMessage();
5541

5642
$input = Mockery::mock(\Symfony\Component\Console\Input\InputInterface::class);
5743
$input->expects('getArgument')
@@ -73,6 +59,8 @@ public function test_a_message_should_be_send_through_the_hook_pipes()
7359

7460
$gitHelper = Mockery::mock('alias:'.GitHelper::class);
7561
$gitHelper->expects('getListOfChangedFiles')->andReturns('AM src/ChangedFiles.php');
62+
$gitHelper->expects('getCommitMessageContentFromFile')->andReturns('Test commit');
63+
$gitHelper->expects('updateCommitMessageContentInFile')->with(base_path('tmp/COMMIT_MESSAGE'), 'Test commit hook1 hook2');
7664

7765
$this->assertEquals(0, $command->handle());
7866
}

0 commit comments

Comments
 (0)