Skip to content

Commit b5e5c97

Browse files
committed
Merge pull request #12 from texthtml/feature/factory-interface
add \TH\Lock\Factory interface
2 parents 84539e1 + 0b74944 commit b5e5c97

File tree

4 files changed

+31
-1
lines changed

4 files changed

+31
-1
lines changed

spec/TH/Lock/FileFactorySpec.php

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ public function let()
2222
public function it_is_initializable()
2323
{
2424
$this->shouldHaveType('TH\Lock\FileFactory');
25+
$this->shouldImplement('TH\Lock\Factory');
2526
}
2627

2728
public function it_should_create_a_file_lock()

src/Factory.php

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?php
2+
3+
namespace TH\Lock;
4+
5+
interface Factory
6+
{
7+
/**
8+
* Create a Lock for $resource
9+
*
10+
* @param string $resource resource identifier
11+
* @return Lock
12+
*/
13+
public function create($resource);
14+
}

src/FileFactory.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
use Psr\Log\LoggerInterface;
66
use Psr\Log\NullLogger;
77

8-
class FileFactory
8+
class FileFactory implements Factory
99
{
1010
private $lock_dir;
1111
private $hash_algo;

src/TtlFactory.php

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
3+
namespace TH\Lock;
4+
5+
interface TtlFactory extends Factory
6+
{
7+
/**
8+
* Create a Lock for $resource
9+
*
10+
* @param string $resource resource identifier
11+
* @param integer $ttl lock time-to-live in milliseconds
12+
* @return Lock
13+
*/
14+
public function create($resource, $ttl = null);
15+
}

0 commit comments

Comments
 (0)