Bristol SU Support Package
src
ActivityInstance
DefaultActivityInstanceGenerator.php
Go to the documentation of this file.
1
<?php
2
3
namespace
BristolSU\Support\ActivityInstance
;
4
5
use
BristolSU\Support\Activity\Activity
;
6
use
BristolSU\Support\ActivityInstance\Contracts\ActivityInstanceRepository
as
ActivityInstanceRepositoryContract
;
7
use
BristolSU\Support\ActivityInstance\Contracts\DefaultActivityInstanceGenerator
as DefaultActivityInstanceGeneratorContract;
8
use
Illuminate\Database\Eloquent\ModelNotFoundException
;
9
13
class
DefaultActivityInstanceGenerator
implements
DefaultActivityInstanceGeneratorContract
14
{
15
21
private
$repository
;
22
28
public
function
__construct
(
ActivityInstanceRepositoryContract
$repository
)
29
{
30
$this->repository =
$repository
;
31
}
32
45
public
function
generate
(
Activity
$activity,
string
$resourceType,
string
$resourceId):
ActivityInstance
46
{
47
try
{
48
$activityInstance = $this->repository->firstFor($activity->id, $resourceType, $resourceId);
49
}
catch
(ModelNotFoundException $e) {
50
$activityInstance = $this->repository->create($activity->id, $resourceType, $resourceId, $activity->name,
51
'Default activity instance for activity '
.$activity->name.
' (#'
.$activity->id.
')'
);
52
}
53
return
$activityInstance;
54
}
55
}
Activity
ActivityInstanceRepository
BristolSU\Support\ActivityInstance\Contracts\DefaultActivityInstanceGenerator
Definition:
DefaultActivityInstanceGenerator.php:11
BristolSU\Support\ActivityInstance\DefaultActivityInstanceGenerator
Definition:
DefaultActivityInstanceGenerator.php:13
BristolSU\Support\ActivityInstance\DefaultActivityInstanceGenerator\__construct
__construct(ActivityInstanceRepositoryContract $repository)
Definition:
DefaultActivityInstanceGenerator.php:28
ModelNotFoundException
BristolSU\Support\ActivityInstance\DefaultActivityInstanceGenerator\$repository
$repository
Definition:
DefaultActivityInstanceGenerator.php:21
BristolSU\Support\ActivityInstance\ActivityInstance
Definition:
ActivityInstance.php:20
BristolSU\Support\ActivityInstance
Definition:
ActivityInstance.php:3
BristolSU\Support\Activity\Activity
Definition:
Activity.php:20
BristolSU\Support\ActivityInstance\DefaultActivityInstanceGenerator\generate
generate(Activity $activity, string $resourceType, string $resourceId)
Definition:
DefaultActivityInstanceGenerator.php:45
Generated by
1.8.13