Coverage for lintro / parsers / ruff / ruff_issue.py: 100%

10 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2026-04-03 18:53 +0000

1"""Model for ruff linting issues.""" 

2 

3from dataclasses import dataclass, field 

4 

5from lintro.parsers.base_issue import BaseIssue 

6 

7 

8@dataclass 

9class RuffIssue(BaseIssue): 

10 """Represents a ruff linting issue. 

11 

12 Attributes: 

13 code: Ruff error code (e.g., E401, F401). 

14 url: Optional URL to documentation for this error. 

15 end_line: End line number for multi-line issues. 

16 end_column: End column number for multi-line issues. 

17 fixable: Whether this issue can be auto-fixed. 

18 fix_applicability: Whether the fix is safe or unsafe (safe, unsafe, or None). 

19 """ 

20 

21 code: str = field(default="") 

22 url: str | None = field(default=None) 

23 end_line: int | None = field(default=None) 

24 end_column: int | None = field(default=None) 

25 fixable: bool = field(default=False) 

26 fix_applicability: str | None = field(default=None)