/**
  * Generates markdown output for a specified class
  * @param string $class e.g. `PDO` or a user class like `diversen\markdownDocs`
  * @return void the method adds to $output
  */
 public function classToMD($class, $options = [])
 {
     $r = new ClassType($class);
     $this->output .= $this->sectionHeader('Class: ' . $r->getName(), 3);
     // Class description
     $this->output .= $r->getDescription() . $this->getNL();
     // Get methods and props
     $methods = $r->getMethods();
     $props = $r->getDefaultProperties();
     // Parse properties
     $this->output .= $this->sectionHeader("Properties");
     $this->generatePropsMD($r, $props, $options);
     // Parse methods
     $this->output .= $this->sectionHeader("Methods");
     $this->generateMethodMD($methods, $options);
 }
 protected function findNamespace()
 {
     $container = $this->getHelper('container');
     $config = $this->config;
     if (isset($config['namespace'])) {
         return $config['namespace'];
     } else {
         $mapper = $container->getByType('LeanMapper\\IMapper');
         $reflection = new ClassType($mapper);
         try {
             $properties = $reflection->getDefaultProperties();
             if (isset($properties['defaultEntityNamespace'])) {
                 return $properties['defaultEntityNamespace'];
             }
         } catch (\ReflectionException $ex) {
         }
     }
     throw new SchemaException('Entity namespace not set, use config.namespace to set proper namespace.');
 }