Source code for rs_files_templates.models.pull_request_template

"""Model for ``.github/pull_request_template.md``."""

from __future__ import annotations

from typing import Any

from .base import rsm_template_base

_PullRequestTemplateRSM = rsm_template_base(
    "_PullRequestTemplateRSM",
    "code_review_policy",
    "include_metadata",
    "documentation_types",
    "test_types",
)


[docs] class PullRequestTemplateModel(_PullRequestTemplateRSM): """Input model for ``.github/pull_request_template.md``.""" template_name = "pull_request_template.md.j2" output_name = ".github/pull_request_template.md"
[docs] def template_data(self) -> dict[str, Any]: """Expose which optional checklist items apply to this project.""" return { "has_code_review_policy": bool(self.code_review_policy), "has_metadata": self.include_metadata, "has_documentation": bool(self.documentation_types.entries), "has_tests": bool(self.test_types.entries), }