/**
  * Get all classes and methods of files in a list.
  *
  * >  I personally don't like this as it was used on the index page.  Way too much stuff on one page.  It has potential for a package index page though.
  * >  For example:  class_methods( Kohana::list_files('classes/sprig') ) could make a nice index page for the sprig package in the api browser
  * >     ~bluehawk
  *
  */
 public static function class_methods(array $list = NULL)
 {
     $list = Kodoc::classes($list);
     $classes = array();
     foreach ($list as $class) {
         // Skip transparent extension classes
         if (Kodoc::is_transparent($class)) {
             continue;
         }
         $_class = new ReflectionClass($class);
         $methods = array();
         foreach ($_class->getMethods() as $_method) {
             $declares = $_method->getDeclaringClass()->name;
             // Remove the transparent prefix from declaring classes
             if ($child = Kodoc::is_transparent($declares)) {
                 $declares = $child;
             }
             if ($declares === $_class->name or $declares === "Core") {
                 $methods[] = $_method->name;
             }
         }
         sort($methods);
         $classes[$_class->name] = $methods;
     }
     return $classes;
 }
Exemplo n.º 2
0
 /**
  * Tests Kodoc::is_transparent
  *
  * Checks that a selection of transparent and non-transparent classes give expected results
  *
  * @group kohana.userguide.3529-configurable-transparent-classes
  * @dataProvider provider_transparent_classes
  * @param mixed $expected
  * @param string $class
  * @param array $classes
  */
 public function test_transparent_classes($expected, $class, $classes)
 {
     $result = Kodoc::is_transparent($class, $classes);
     $this->assertSame($expected, $result);
 }