PHP Class Airship\Engine\Continuum\Updaters\Cabin

This updates a Cabin.
Inheritance: extends AutoUpdater, implements ContinuumInterface
Show file Open project: paragonie/airship

Protected Properties

Property Type Description
$cabin array
$ext string

Public Methods

Method Description
__construct ( Hail $hail, array $manifest, Supplier $supplier ) Cabin constructor.
autoUpdate ( ) Process automatic updates:

Protected Methods

Method Description
bringCabinBackUp ( string $name = '' ) After we finish our update, we should bring the cabin back online:
bringCabinDown ( string $name = '' ) Let's bring the cabin down while we're upgrading:
install ( UpdateInfo $info, UpdateFile $file ) Install an updated version of a cabin
isAirshipSpecialCabin ( ) : boolean Is this cabin part of the Airship core? (They don't get automatically updated separate from the core.)
makeNamespace ( string $supplier, string $cabin ) : string some-test-user/cabin--for-the-win => Some_Test_User__Cabin_For_The_Win
replaceFile ( string $filename ) : integer | boolean Unique to cabin updating; replace a file with one in the archive

Method Details

__construct() public method

Cabin constructor.
public __construct ( Hail $hail, array $manifest, Supplier $supplier )
$hail Hail
$manifest array
$supplier Supplier

autoUpdate() public method

1. Check if a new update is available. 2. Download the upload file, store in a temporary file. 3. Verify the signature (via Halite). 4. Verify the update is recorded in Keyggdrasil. 5. If all is well, run the update script.
public autoUpdate ( )

bringCabinBackUp() protected method

After we finish our update, we should bring the cabin back online:
protected bringCabinBackUp ( string $name = '' )
$name string Cabin name

bringCabinDown() protected method

Let's bring the cabin down while we're upgrading:
protected bringCabinDown ( string $name = '' )
$name string Cabin name

install() protected method

If we get to this point: 1. We know the signature is signed by the supplier. 2. The hash was checked into Keyggdrasil, which was independently vouched for by our peers.
protected install ( UpdateInfo $info, UpdateFile $file )
$info UpdateInfo
$file UpdateFile

isAirshipSpecialCabin() protected method

Is this cabin part of the Airship core? (They don't get automatically updated separate from the core.)
protected isAirshipSpecialCabin ( ) : boolean
return boolean

makeNamespace() protected method

some-test-user/cabin--for-the-win => Some_Test_User__Cabin_For_The_Win
protected makeNamespace ( string $supplier, string $cabin ) : string
$supplier string
$cabin string
return string

replaceFile() protected method

Unique to cabin updating; replace a file with one in the archive
protected replaceFile ( string $filename ) : integer | boolean
$filename string
return integer | boolean

Property Details

$cabin protected property

protected array $cabin
return array

$ext protected property

protected string $ext
return string