Exemplo n.º 1
0
 public function testGlobRecursive()
 {
     $baseDir = dirname(__DIR__);
     $this->assertContains(Path::build($baseDir, 'composer.json'), Path::globRecursive($baseDir, '*.json'));
     $this->assertContains(Path::build($baseDir, 'phpunit.xml'), Path::globRecursive($baseDir, '*.xml'));
     $this->assertContains(Path::build($baseDir, 'src', 'Traits', 'ArrayAccessTrait.php'), Path::globRecursive($baseDir, '*.php'));
 }
Exemplo n.º 2
0
 /**
  * Match all files within a directory to a pattern recursive
  *
  * @param     $baseDir
  * @param     $pattern
  * @param int $flags
  *
  * @return array
  *
  * @deprecated
  */
 function glob_recursive($baseDir, $pattern = '*', $flags = 0)
 {
     return \Packaged\Helpers\Path::globRecursive($baseDir, $pattern, $flags);
 }
<?php

include_once dirname(dirname(__DIR__)) . '/vendor/autoload.php';
use Packaged\Helpers\Path;
use Packaged\Helpers\Strings;
$output = '<?php
namespace Fortifi\\FortifiApi\\ActivityFeed\\Enums;

class ActivityFeedStoryEnum
{
  public static $storyTypes = [
';
$stories = Path::globRecursive(Path::build(__DIR__, 'Stories'));
foreach ($stories as $story) {
    $story = str_replace(__DIR__ . '/Stories/', '', $story);
    //Skip Abstracts and Non Story Classes
    if (Strings::startsWithAny($story, ['Abstract']) || !Strings::endsWith($story, 'Story.php')) {
        continue;
    }
    $part = explode('/', $story);
    $storyClass = array_pop($part);
    $storyClass = str_replace('Story.php', '', $storyClass);
    $storyNs = 'Fortifi\\FortifiApi\\ActivityFeed\\Stories\\' . implode('\\', $part);
    $key = Strings::stringToUnderScore($storyClass);
    //Skip Interfaces
    if (substr($key, 0, 2) == 'i_') {
        continue;
    }
    $output .= "    '{$key}' => '" . $storyNs . "\\" . $storyClass . "Story',\n";
}
$output .= '  ];