Commit 0082cc7
Changed files (3)
lib
lib/boot/container_configuration.rb
@@ -5,6 +5,7 @@ class ContainerConfiguration
container.register(:event_aggregator) { EventAggregator.new }.as_singleton
container.register(:shell) { |x| x.build(ApplicationShell) }.as_singleton
container.register(:shell_presenter) { |x| x.build(ApplicationShellPresenter) }
+ container.register(:application_controller) { |x| x.build(ApplicationController) }.as_singleton
Spank::IOC.bind_to(container)
end
end
lib/presentation/application_controller.rb
@@ -0,0 +1,9 @@
+class ApplicationController
+ def initialize(container)
+ @container = container
+ end
+
+ def run(presenter)
+ @container.resolve(presenter).present
+ end
+end
lib/application.rb
@@ -13,7 +13,7 @@ class Application
container = Spank::Container.new
ContainerConfiguration.then(EventsRegistration).run(container)
- container.resolve(:shell_presenter).present
+ container.resolve(:application_controller).run(:shell_presenter)
Gtk.main
end
end