class AppendOp extends AbstractOperation (View source)

internal  
 

Scaffold operation to add to the beginning and/or end of a scaffold file.

Constants

ID

Identifies Append operations.

Properties

protected string $contents

Cached contents of scaffold file to be written to disk.

from  AbstractOperation
protected ScaffoldFilePath $prepend

Path to the source file to prepend, if any.

protected ScaffoldFilePath $append

Path to the source file to append, if any.

protected ScaffoldFilePath $default

Path to the default data to use when appending to an empty file.

protected $managed

An indicator of whether the file we are appending to is managed or not.

protected $forceAppend

An indicator of whether we are allowed to append to a non-scaffolded file.

protected string $originalContents

The contents from the file that we are prepending / appending to.

Methods

string
contents()

Returns the exact data that will be written to the scaffold files.

string
generateContents()

Load the scaffold contents or otherwise generate what is needed.

scaffoldOverExistingTarget(OperationInterface $existing_target)

Determines what to do if operation is used at same path as a previous op.

scaffoldAtNewLocation(ScaffoldFilePath $destination)

Determines what to do if operation is used without a previous operation.

__construct(ScaffoldFilePath $prepend_path = NULL, ScaffoldFilePath $append_path = NULL, bool $force_append = FALSE, ScaffoldFilePath $default_path = NULL)

Constructs an AppendOp.

process(ScaffoldFilePath $destination, IOInterface $io, ScaffoldOptions $options)

Process this scaffold operation.

bool
existingFileHasData(string $contents, ScaffoldFilePath $data_path)

Check to see if the append/prepend data has already been applied.

Details

final string contents()

Returns the exact data that will be written to the scaffold files.

Return Value

string

Data to be written to the scaffold location.

protected string generateContents()

Load the scaffold contents or otherwise generate what is needed.

Return Value

string

The contents of the scaffold file.

OperationInterface scaffoldOverExistingTarget(OperationInterface $existing_target)

Determines what to do if operation is used at same path as a previous op.

Default behavior is to scaffold this operation at the specified destination, ignoring whatever was there before.

Parameters

OperationInterface $existing_target

Existing file at the destination path that we should combine with.

Return Value

OperationInterface

The op to use at this destination.

OperationInterface scaffoldAtNewLocation(ScaffoldFilePath $destination)

Determines what to do if operation is used without a previous operation.

Default behavior is to scaffold this operation at the specified destination. Most operations overwrite rather than modify existing files, and therefore do not need to do anything special when there is no existing file.

Parameters

ScaffoldFilePath $destination

Scaffold file's destination path.

Return Value

OperationInterface

The op to use at this destination.

__construct(ScaffoldFilePath $prepend_path = NULL, ScaffoldFilePath $append_path = NULL, bool $force_append = FALSE, ScaffoldFilePath $default_path = NULL)

Constructs an AppendOp.

Parameters

ScaffoldFilePath $prepend_path

The relative path to the prepend file.

ScaffoldFilePath $append_path

The relative path to the append file.

bool $force_append

TRUE if is okay to append to a file that was not scaffolded.

ScaffoldFilePath $default_path

The relative path to the default data.

ScaffoldResult process(ScaffoldFilePath $destination, IOInterface $io, ScaffoldOptions $options)

Process this scaffold operation.

Parameters

ScaffoldFilePath $destination

Scaffold file's destination path.

IOInterface $io

IOInterface to write to.

ScaffoldOptions $options

Various options that may alter the behavior of the operation.

Return Value

ScaffoldResult

Result of the scaffolding operation.

protected bool existingFileHasData(string $contents, ScaffoldFilePath $data_path)

Check to see if the append/prepend data has already been applied.

Parameters

string $contents

The contents of the target file.

ScaffoldFilePath $data_path

The path to the data to append or prepend

Return Value

bool

'TRUE' if the append/prepend data already exists in contents.