Bristol SU Support Package
Public Member Functions | Private Member Functions | Private Attributes | List of all members
BristolSU\Support\Action\ActionBuilder Class Reference
Inheritance diagram for BristolSU\Support\Action\ActionBuilder:
Inheritance graph
[legend]
Collaboration diagram for BristolSU\Support\Action\ActionBuilder:
Collaboration graph
[legend]

Public Member Functions

 __construct (Container $app)
 
 build (ActionInstance $actionInstance, array $data=[])
 

Private Member Functions

 mapFields ($fields, array $data)
 

Private Attributes

 $app
 

Detailed Description

Builds an action class using the Laravel container.

Definition at line 15 of file ActionBuilder.php.

Constructor & Destructor Documentation

◆ __construct()

BristolSU\Support\Action\ActionBuilder::__construct ( Container  $app)

Initialise the Action Builder

Parameters
Container$appContainer to resolve the actions from.

Definition at line 29 of file ActionBuilder.php.

References BristolSU\Support\Action\ActionBuilder\$app.

Member Function Documentation

◆ build()

BristolSU\Support\Action\ActionBuilder::build ( ActionInstance  $actionInstance,
array  $data = [] 
)

Resolve an action out of the container.

Fields from the ActionInstance will be mapped to the action field, then passed to the action to resolve with.

Parameters
ActionInstance$actionInstanceActionInstance which needs to be built
array$dataEvent fields
Returns
Action An action storing the data
Exceptions

Implements BristolSU\Support\Action\Contracts\ActionBuilder.

Definition at line 45 of file ActionBuilder.php.

References BristolSU\Support\Action\ActionInstance\actionInstanceFields(), and BristolSU\Support\Action\ActionBuilder\mapFields().

◆ mapFields()

BristolSU\Support\Action\ActionBuilder::mapFields (   $fields,
array  $data 
)
private

For each action field, retrieve and return the action field from the event field

Parameters
ActionInstanceField[]$fields ActionInstanceFields for the action instance.
array$dataEvent field data
Returns
array Action field data

Definition at line 69 of file ActionBuilder.php.

Referenced by BristolSU\Support\Action\ActionBuilder\build().

Member Data Documentation

◆ $app

BristolSU\Support\Action\ActionBuilder::$app
private

The documentation for this class was generated from the following file: