Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@

"require" : {
"php" : ">=5.3.3",
"symfony/config" : "^2.2|^3.0",
"symfony/event-dispatcher" : "^2.2|^3.0"
},

Expand Down
51 changes: 49 additions & 2 deletions src/Lurker/Resource/DirectoryResource.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,60 @@

namespace Lurker\Resource;

use Symfony\Component\Config\Resource\DirectoryResource as BaseDirectoryResource;
use Lurker\Exception\InvalidArgumentException;

/**
* @package Lurker
*/
class DirectoryResource extends BaseDirectoryResource implements ResourceInterface
class DirectoryResource implements ResourceInterface
{
/**
* @var string
*/
private $resource;

/**
* @var string|null
*/
private $pattern;

/**
* @param string $resource
* @param string|null $pattern
*/
public function __construct($resource, $pattern = null)
{
$this->resource = realpath($resource);
$this->pattern = $pattern;

if (false === $this->resource || !is_dir($this->resource)) {
throw new InvalidArgumentException(sprintf('The directory "%s" does not exist.', $resource));
}
}

/**
* @return string
*/
public function getResource()
{
return $this->resource;
}

/**
* @return string
*/
public function getPattern()
{
return $this->pattern;
}

/**
* @return string
*/
public function __toString()
{
return md5(serialize(array($this->resource, $this->pattern)));
}

public function exists()
{
Expand Down
41 changes: 39 additions & 2 deletions src/Lurker/Resource/FileResource.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,50 @@

namespace Lurker\Resource;

use Symfony\Component\Config\Resource\FileResource as BaseFileResource;
use Lurker\Exception\InvalidArgumentException;

/**
* @package Lurker
*/
class FileResource extends BaseFileResource implements ResourceInterface
class FileResource implements ResourceInterface
{
/**
* @var string
*/
private $resource;

/**
* @param string $resource
*/
public function __construct($resource)
{
$this->resource = realpath($resource);

if (false === $this->resource && file_exists($resource)) {
$this->resource = $resource;
}

if (false === $this->resource) {
throw new InvalidArgumentException(sprintf('The file "%s" does not exist.', $resource));
}
}

/**
* @return string
*/
public function getResource()
{
return $this->resource;
}

/**
* @return string
*/
public function __toString()
{
return $this->resource;
}

public function getModificationTime()
{
if (!$this->exists()) {
Expand Down
4 changes: 1 addition & 3 deletions src/Lurker/Resource/ResourceInterface.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,10 @@

namespace Lurker\Resource;

use Symfony\Component\Config\Resource\ResourceInterface as BaseResourceInterface;

/**
* @package Lurker
*/
interface ResourceInterface extends BaseResourceInterface
interface ResourceInterface
{
/**
* @return boolean
Expand Down