for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php namespace Mascame\Artificer\Permit;
use Auth;
abstract class Permit extends Auth
{
protected static $role = null;
/**
* @param $to
*/
public static function access($to)
return false;
}
* @param $action
public static function to($action)
* @param string $role_column
* @return null
public static function getRole($role_column = 'role')
if (static::$role) {
return static::$role;
if (isset(Auth::user()->$role_column)) {
return static::$role = Auth::user()->$role_column;
return null;
* @param null $permissions
* @return bool
public static function hasPermission($permissions = null)
if (!$permissions) {
return true;
if (is_array($permissions) && self::hasNeededRole($permissions)) {
* @param $permissions
private static function hasNeededRole($permissions)
return (in_array(self::getRole(), $permissions) || $permissions[0] == '*');