Skip to content

Commit f11c551

Browse files
authored
refactor: Rename HandlerManager to HandlerRegistry
1 parent b5cb23d commit f11c551

5 files changed

Lines changed: 151 additions & 151 deletions

File tree

cq/_core/dispatcher/bus.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
from cq._core.dispatcher.base import BaseDispatcher, Dispatcher
99
from cq._core.handler import (
1010
HandlerFactory,
11-
HandlerManager,
12-
MultipleHandlerManager,
13-
SingleHandlerManager,
11+
HandlerRegistry,
12+
MultipleHandlerRegistry,
13+
SingleHandlerRegistry,
1414
)
1515
from cq._core.middleware import Middleware
1616

@@ -35,29 +35,29 @@ def subscribe(self, input_type: type[I], factory: HandlerFactory[[I], O]) -> Sel
3535

3636

3737
class BaseBus[I, O](BaseDispatcher[I, O], Bus[I, O], ABC):
38-
__slots__ = ("__listeners", "__manager")
38+
__slots__ = ("__listeners", "__registry")
3939

4040
__listeners: list[Listener[I]]
41-
__manager: HandlerManager[I, O]
41+
__registry: HandlerRegistry[I, O]
4242

43-
def __init__(self, manager: HandlerManager[I, O]) -> None:
43+
def __init__(self, registry: HandlerRegistry[I, O], /) -> None:
4444
super().__init__()
4545
self.__listeners = []
46-
self.__manager = manager
46+
self.__registry = registry
4747

4848
def add_listeners(self, *listeners: Listener[I]) -> Self:
4949
self.__listeners.extend(listeners)
5050
return self
5151

5252
def subscribe(self, input_type: type[I], factory: HandlerFactory[[I], O]) -> Self:
53-
self.__manager.subscribe(input_type, factory)
53+
self.__registry.subscribe(input_type, factory)
5454
return self
5555

5656
def _handlers_from(
5757
self,
5858
input_type: type[I],
5959
) -> Iterator[Callable[[I], Awaitable[O]]]:
60-
return self.__manager.handlers_from(input_type)
60+
return self.__registry.handlers_from(input_type)
6161

6262
def _trigger_listeners(self, input_value: I, /, task_group: TaskGroup) -> None:
6363
for listener in self.__listeners:
@@ -67,8 +67,8 @@ def _trigger_listeners(self, input_value: I, /, task_group: TaskGroup) -> None:
6767
class SimpleBus[I, O](BaseBus[I, O]):
6868
__slots__ = ()
6969

70-
def __init__(self, manager: HandlerManager[I, O] | None = None) -> None:
71-
super().__init__(manager or SingleHandlerManager())
70+
def __init__(self, registry: HandlerRegistry[I, O] | None = None, /) -> None:
71+
super().__init__(registry or SingleHandlerRegistry())
7272

7373
async def dispatch(self, input_value: I, /) -> O:
7474
async with anyio.create_task_group() as task_group:
@@ -83,8 +83,8 @@ async def dispatch(self, input_value: I, /) -> O:
8383
class TaskBus[I](BaseBus[I, None]):
8484
__slots__ = ()
8585

86-
def __init__(self, manager: HandlerManager[I, None] | None = None) -> None:
87-
super().__init__(manager or MultipleHandlerManager())
86+
def __init__(self, registry: HandlerRegistry[I, None] | None = None, /) -> None:
87+
super().__init__(registry or MultipleHandlerRegistry())
8888

8989
async def dispatch(self, input_value: I, /) -> None:
9090
async with anyio.create_task_group() as task_group:

cq/_core/handler.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ async def handle(self, *args: P.args, **kwargs: P.kwargs) -> T:
2424

2525

2626
@runtime_checkable
27-
class HandlerManager[I, O](Protocol):
27+
class HandlerRegistry[I, O](Protocol):
2828
__slots__ = ()
2929

3030
@abstractmethod
@@ -40,7 +40,7 @@ def subscribe(self, input_type: type[I], factory: HandlerFactory[[I], O]) -> Sel
4040

4141

4242
@dataclass(repr=False, eq=False, frozen=True, slots=True)
43-
class MultipleHandlerManager[I, O](HandlerManager[I, O]):
43+
class MultipleHandlerRegistry[I, O](HandlerRegistry[I, O]):
4444
__factories: dict[type[I], list[HandlerFactory[[I], O]]] = field(
4545
default_factory=partial(defaultdict, list),
4646
init=False,
@@ -62,7 +62,7 @@ def subscribe(self, input_type: type[I], factory: HandlerFactory[[I], O]) -> Sel
6262

6363

6464
@dataclass(repr=False, eq=False, frozen=True, slots=True)
65-
class SingleHandlerManager[I, O](HandlerManager[I, O]):
65+
class SingleHandlerRegistry[I, O](HandlerRegistry[I, O]):
6666
__factories: dict[type[I], HandlerFactory[[I], O]] = field(
6767
default_factory=dict,
6868
init=False,
@@ -92,7 +92,7 @@ def subscribe(self, input_type: type[I], factory: HandlerFactory[[I], O]) -> Sel
9292

9393
@dataclass(repr=False, eq=False, frozen=True, slots=True)
9494
class HandlerDecorator[I, O]:
95-
manager: HandlerManager[I, O]
95+
registry: HandlerRegistry[I, O]
9696
injection_module: injection.Module = field(default_factory=injection.mod)
9797

9898
if TYPE_CHECKING: # pragma: no cover
@@ -154,7 +154,7 @@ def __decorator(
154154
) -> HandlerType[[I], O]:
155155
factory = self.injection_module.make_async_factory(wrapped, threadsafe)
156156
input_type = input_type or _resolve_input_type(wrapped)
157-
self.manager.subscribe(input_type, factory)
157+
self.registry.subscribe(input_type, factory)
158158
return wrapped
159159

160160

cq/_core/message.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
from cq._core.dispatcher.bus import Bus, SimpleBus, TaskBus
77
from cq._core.handler import (
88
HandlerDecorator,
9-
MultipleHandlerManager,
10-
SingleHandlerManager,
9+
MultipleHandlerRegistry,
10+
SingleHandlerRegistry,
1111
)
1212
from cq._core.scope import CQScope
1313
from cq.middlewares.scope import InjectionScopeMiddleware
@@ -24,13 +24,13 @@
2424

2525

2626
command_handler: Final[HandlerDecorator[Command, Any]] = HandlerDecorator(
27-
SingleHandlerManager(),
27+
SingleHandlerRegistry(),
2828
)
2929
event_handler: Final[HandlerDecorator[Event, None]] = HandlerDecorator(
30-
MultipleHandlerManager(),
30+
MultipleHandlerRegistry(),
3131
)
3232
query_handler: Final[HandlerDecorator[Query, Any]] = HandlerDecorator(
33-
SingleHandlerManager(),
33+
SingleHandlerRegistry(),
3434
)
3535

3636

@@ -41,7 +41,7 @@
4141
mode="fallback",
4242
)
4343
def new_command_bus(*, threadsafe: bool | None = None) -> Bus[Command, Any]:
44-
bus = SimpleBus(command_handler.manager)
44+
bus = SimpleBus(command_handler.registry)
4545
transaction_scope_middleware = InjectionScopeMiddleware(
4646
CQScope.TRANSACTION,
4747
exist_ok=True,
@@ -58,7 +58,7 @@ def new_command_bus(*, threadsafe: bool | None = None) -> Bus[Command, Any]:
5858
mode="fallback",
5959
)
6060
def new_event_bus() -> Bus[Event, None]:
61-
return TaskBus(event_handler.manager)
61+
return TaskBus(event_handler.registry)
6262

6363

6464
@injection.injectable(
@@ -68,4 +68,4 @@ def new_event_bus() -> Bus[Event, None]:
6868
mode="fallback",
6969
)
7070
def new_query_bus() -> Bus[Query, Any]:
71-
return SimpleBus(query_handler.manager)
71+
return SimpleBus(query_handler.registry)

tests/core/test_handler.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import pytest
44

5-
from cq._core.handler import HandlerDecorator, SingleHandlerManager
5+
from cq._core.handler import HandlerDecorator, SingleHandlerRegistry
66

77

88
class _Handler:
@@ -13,7 +13,7 @@ async def handle(self, input_value: str) -> NoReturn:
1313
class TestHandlerDecorator:
1414
@pytest.fixture(scope="function")
1515
def handler_decorator(self) -> HandlerDecorator[Any, Any]:
16-
return HandlerDecorator(SingleHandlerManager())
16+
return HandlerDecorator(SingleHandlerRegistry())
1717

1818
def test_call_with_success_return_wrapped_type(
1919
self,

0 commit comments

Comments
 (0)