ransack.exceptions module

Custom exceptions for Ransack query parsing, evaluation, and shape validation.

exception ransack.exceptions.EvaluationError(msg: str, **kwargs)

Bases: PositionInfoMixin, RansackError

Raised when a query fails during evaluation.

exception ransack.exceptions.OperatorNotFoundError(operator: str, types: tuple[type | str, type | str], values: tuple[Any, Any] | None = None)

Bases: RansackError

Exception raised when an operator is not found for the provided types.

exception ransack.exceptions.ParseError(line: int, column: int, context: str | None = None, start_pos: int | None = None, end_pos: int | None = None, end_line: int | None = None, end_column: int | None = None, *args, **kwargs)

Bases: PositionInfoMixin, RansackError

Raised when the input query cannot be parsed.

class ransack.exceptions.PositionInfoMixin(line: int, column: int, context: str | None = None, start_pos: int | None = None, end_pos: int | None = None, end_line: int | None = None, end_column: int | None = None, *args, **kwargs)

Bases: object

Mixin class that adds source position metadata to exceptions.

exception ransack.exceptions.RansackError

Bases: Exception

Base exception for all query-related errors.

exception ransack.exceptions.ShapeError(msg: str, **kwargs)

Bases: PositionInfoMixin, RansackError

Raised when a query has an invalid shape or structure.

ransack.exceptions.add_caret_to_context(context: str, line: int, column: int, original_data: str, context_start_pos: int) str

Inserts a caret (^) under the character at (line, column) relative to the full input. context is a slice of the full input string. line and column are from the parser (1-based).