Guard against dataclass types in jsonable implementation
This commit is contained in:
@@ -10,6 +10,6 @@ dependencies = ["unidiff==0.7.5"]
|
||||
[project.scripts]
|
||||
ruff-ecosystem = "ruff_ecosystem.cli:entrypoint"
|
||||
|
||||
|
||||
[tool.ruff]
|
||||
extend-select = ["I"]
|
||||
extend-select = ["I"]
|
||||
preview = true
|
||||
@@ -4,11 +4,11 @@ Execution, comparison, and summary of `ruff check` ecosystem checks.
|
||||
from __future__ import annotations
|
||||
|
||||
import asyncio
|
||||
import dataclasses
|
||||
import re
|
||||
import time
|
||||
from asyncio import create_subprocess_exec
|
||||
from collections import Counter
|
||||
import dataclasses
|
||||
from dataclasses import dataclass, field
|
||||
from pathlib import Path
|
||||
from subprocess import PIPE
|
||||
@@ -17,8 +17,8 @@ from typing import TYPE_CHECKING, Iterable, Iterator, Self, Sequence
|
||||
from ruff_ecosystem import logger
|
||||
from ruff_ecosystem.markdown import (
|
||||
markdown_details,
|
||||
markdown_project_section,
|
||||
markdown_plus_minus,
|
||||
markdown_project_section,
|
||||
)
|
||||
from ruff_ecosystem.types import (
|
||||
Comparison,
|
||||
|
||||
@@ -17,7 +17,7 @@ class Serializable(abc.ABC):
|
||||
|
||||
def jsonable(self) -> Any:
|
||||
# Default implementation for dataclasses
|
||||
if is_dataclass(self):
|
||||
if is_dataclass(self) and not isinstance(self, type):
|
||||
return dataclasses.asdict(self)
|
||||
|
||||
raise NotImplementedError()
|
||||
|
||||
Reference in New Issue
Block a user