예제 #1
0
 def __init__(self, engine: Engine):
     injector = get_injector()
     injector.binder.bind(MyRepository,
                          to=ClassProvider(sqla_crud(MyRepository)))
     self._engine = engine
     self.repository = injector.get(MyRepository)
     metadata.drop_all(bind=self._engine)
     metadata.create_all(bind=self._engine)
예제 #2
0
    def dispatch(self, events: Iterable[DomainEvent]):
        filtered_events: Dict[EventFilter, List[DomainEvent]] = {}

        for event in events:
            event_type = type(event)
            event_filters = self._event_type_to_event_filters_map.get(
                event_type, [])
            for event_filter in event_filters:
                filtered_events.setdefault(event_filter, []).append(event)

        for event_filter, events in filtered_events.items():
            for subscription in self._subscriptions.get(event_filter, []):
                handler_instance = get_injector().get(
                    subscription.handler_class)
                if subscription.collection:
                    subscription.handler_method(handler_instance, events)
                else:
                    for event in events:
                        subscription.handler_method(handler_instance, event)
예제 #3
0
def test_get_injector():
    injector = get_injector()
    assert injector is not None
예제 #4
0
def fixture():
    return get_injector().get(Fixture)
예제 #5
0
 def __init__(self):
     injector = get_injector()
     injector.call_with_injection(DefaultCRUDRepositoryImpl.__init__,
                                  self)
     for subclass in repository_subclasses:
         injector.call_with_injection(subclass.__init__, self)
예제 #6
0
def run_configurers():
    injector = get_injector()
    for configurer_class in Configurer.__subclasses__():
        configurer = injector.get(configurer_class)
        configurer.add_interceptors(interceptor_registry)
예제 #7
0
 def dispatch(winter_view, request: Request, **path_variables):
     controller = get_injector().get(component.component_cls)
     return _call_controller_method(controller, route, request)