| Conditions | 6 | 
| Paths | 5 | 
| Total Lines | 27 | 
| Code Lines | 15 | 
| Lines | 0 | 
| Ratio | 0 % | 
| Changes | 0 | ||
| 1 | <?php  | 
            ||
| 20 | public function loadFor(Schedule $schedule, array $exclude = [])  | 
            ||
| 21 |     { | 
            ||
| 22 | $namespace = $this->app->getNamespace();  | 
            ||
| 23 | |||
| 24 |         $path = $this->app->path('Console/Tasks'); | 
            ||
| 25 | |||
| 26 |         if (! is_dir($path)) { | 
            ||
| 27 | return;  | 
            ||
| 28 | }  | 
            ||
| 29 | |||
| 30 |         foreach ((new Finder)->in($path)->files() as $taskFile) { | 
            ||
| 31 | $taskClass = $namespace.str_replace(  | 
            ||
| 32 | ['/', '.php'],  | 
            ||
| 33 | ['\\', ''],  | 
            ||
| 34 | Str::after($taskFile->getPathname(), app_path().DIRECTORY_SEPARATOR)  | 
            ||
| 35 | );  | 
            ||
| 36 | |||
| 37 |             if (in_array($taskClass, $exclude)) { | 
            ||
| 38 | continue;  | 
            ||
| 39 | }  | 
            ||
| 40 | |||
| 41 | if (is_subclass_of($taskClass, TaskContract::class) &&  | 
            ||
| 42 |                 ! (new ReflectionClass($taskClass))->isAbstract()) { | 
            ||
| 43 | $task = new $taskClass;  | 
            ||
| 44 | |||
| 45 | // Invoke task  | 
            ||
| 46 | $task($schedule);  | 
            ||
| 47 | }  | 
            ||
| 51 |