PHP Trait Silber\Bouncer\Conductors\Traits\AssociatesAbilities

Show file Open project: JosephSilber/bouncer

Protected Methods

Method Description
abilitiesByName ( array | string $ability, array $attributes = [] ) : Illuminate\Database\Eloquent\Collection Get or create abilities by their name.
createAbility ( string $ability, Model | string $entity, array $attributes ) : Ability Create an ability for the given entity.
createMissingAbilities ( Illuminate\Database\Eloquent\Collection $models, array $abilities, array $attributes = [] ) : Illuminate\Database\Eloquent\Collection Create abilities whose name is not in the given list.
findAbility ( string $ability, Model | string $entity, array $attributes ) : Ability | null Find the ability for the given entity.
getAbilityIds ( Ability | array | integer $abilities, Model | string | null $model, array $attributes ) : array Get the IDs of the provided abilities.
getAssociatedAbilityIds ( Model $authority, array $abilityIds, boolean $forbidden ) : array Get the IDs of the associated abilities.
getAuthority ( ) : Model Get the authority, creating a role authority if necessary.
getEntityInstance ( Model | string $model ) : Model | string Get an instance of the given model.
getModelAbility ( string $ability, Model | string $entity, array $attributes ) : Ability Get an ability for the given entity.

Method Details

abilitiesByName() protected method

Get or create abilities by their name.
protected abilitiesByName ( array | string $ability, array $attributes = [] ) : Illuminate\Database\Eloquent\Collection
$ability array | string
$attributes array
return Illuminate\Database\Eloquent\Collection

createAbility() protected method

Create an ability for the given entity.
protected createAbility ( string $ability, Model | string $entity, array $attributes ) : Ability
$ability string
$entity Illuminate\Database\Eloquent\Model | string
$attributes array
return Silber\Bouncer\Database\Ability

createMissingAbilities() protected method

Create abilities whose name is not in the given list.
protected createMissingAbilities ( Illuminate\Database\Eloquent\Collection $models, array $abilities, array $attributes = [] ) : Illuminate\Database\Eloquent\Collection
$models Illuminate\Database\Eloquent\Collection
$abilities array
$attributes array
return Illuminate\Database\Eloquent\Collection

findAbility() protected method

Find the ability for the given entity.
protected findAbility ( string $ability, Model | string $entity, array $attributes ) : Ability | null
$ability string
$entity Illuminate\Database\Eloquent\Model | string
$attributes array
return Silber\Bouncer\Database\Ability | null

getAbilityIds() protected method

Get the IDs of the provided abilities.
protected getAbilityIds ( Ability | array | integer $abilities, Model | string | null $model, array $attributes ) : array
$abilities Silber\Bouncer\Database\Ability | array | integer
$model Illuminate\Database\Eloquent\Model | string | null
$attributes array
return array

getAssociatedAbilityIds() protected method

Get the IDs of the associated abilities.
protected getAssociatedAbilityIds ( Model $authority, array $abilityIds, boolean $forbidden ) : array
$authority Illuminate\Database\Eloquent\Model
$abilityIds array
$forbidden boolean
return array

getAuthority() protected method

Get the authority, creating a role authority if necessary.
protected getAuthority ( ) : Model
return Illuminate\Database\Eloquent\Model

getEntityInstance() protected method

Get an instance of the given model.
protected getEntityInstance ( Model | string $model ) : Model | string
$model Illuminate\Database\Eloquent\Model | string
return Illuminate\Database\Eloquent\Model | string

getModelAbility() protected method

Get an ability for the given entity.
protected getModelAbility ( string $ability, Model | string $entity, array $attributes ) : Ability
$ability string
$entity Illuminate\Database\Eloquent\Model | string
$attributes array
return Silber\Bouncer\Database\Ability