This commit is contained in:
23
src/docgen/generators/base.py
Normal file
23
src/docgen/generators/base.py
Normal file
@@ -0,0 +1,23 @@
|
||||
"""Base generator class."""
|
||||
|
||||
from abc import ABC, abstractmethod
|
||||
from pathlib import Path
|
||||
from typing import Optional
|
||||
from docgen.models import DocConfig, Endpoint
|
||||
|
||||
|
||||
class BaseGenerator(ABC):
|
||||
"""Abstract base class for documentation generators."""
|
||||
|
||||
def __init__(self, config: Optional[DocConfig] = None):
|
||||
self.config = config or DocConfig()
|
||||
|
||||
@abstractmethod
|
||||
def generate(self, endpoints: list[Endpoint], output_dir: Path) -> Path:
|
||||
"""Generate documentation and return the output path."""
|
||||
pass
|
||||
|
||||
def _ensure_output_dir(self, output_dir: Path) -> Path:
|
||||
"""Ensure output directory exists."""
|
||||
output_dir.mkdir(parents=True, exist_ok=True)
|
||||
return output_dir
|
||||
Reference in New Issue
Block a user