summaryrefslogtreecommitdiff
path: root/lib/boot/bootstrap_container.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/boot/bootstrap_container.rb')
-rw-r--r--lib/boot/bootstrap_container.rb43
1 files changed, 25 insertions, 18 deletions
diff --git a/lib/boot/bootstrap_container.rb b/lib/boot/bootstrap_container.rb
index ed4eed0..93b3892 100644
--- a/lib/boot/bootstrap_container.rb
+++ b/lib/boot/bootstrap_container.rb
@@ -6,29 +6,36 @@ class BootstrapContainer
@container = container
end
def run
+ configuration = Humble::Configuration.new(DatabaseConfiguration.new.connection_string)
+ configuration.add(UserMapping.new)
+ configuration.add(ProductMapping.new)
+ session_factory = configuration.build_session_factory
+
@container.register(:command_registry) { Booty::RouteRegistry.new }.as_singleton
@container.register(:front_controller) { @container.build(Booty::FrontController) }
@container.register(:view_engine) do
Booty::ViewEngine.new(:root_path => 'lib/commands', :master => 'master')
end
@container.register(:products_repository) do
- Repository.new(:products, @container.resolve(:database_gateway), DataMapper.new(Product))
+ #Repository.new(:products, @container.resolve(:database_gateway), DataMapper.new(Product))
+ HumbleRepository.new(@container.resolve(:context).item_for(@container.resolve(:key)), Product)
end
@container.register(:users_repository) do
- Repository.new(:users, @container.resolve(:database_gateway), DataMapper.new(User))
- end
- @container.register(:database_gateway) do
- @container.build(DatabaseGateway)
- end
- @container.register(:database_connection_factory) do
- DatabaseConnectionFactory.new(@container.resolve(:database_configuration), @container.resolve(:database_connection_provider))
- end
- @container.register(:database_configuration) do
- DatabaseConfiguration.new
- end
- @container.register(:database_connection_provider) do
- SequelConnectionProvider.new
- end
+ #Repository.new(:users, @container.resolve(:database_gateway), DataMapper.new(User))
+ HumbleRepository.new(@container.resolve(:context).item_for(@container.resolve(:key)), User)
+ end
+ #@container.register(:database_gateway) do
+ #@container.build(DatabaseGateway)
+ #end
+ #@container.register(:database_connection_factory) do
+ #DatabaseConnectionFactory.new(@container.resolve(:database_configuration), @container.resolve(:database_connection_provider))
+ #end
+ #@container.register(:database_configuration) do
+ #DatabaseConfiguration.new
+ #end
+ #@container.register(:database_connection_provider) do
+ #SequelConnectionProvider.new
+ #end
@container.register(:unit_of_work_interceptor) do
@container.build(UnitOfWorkInterceptor)
end
@@ -40,11 +47,11 @@ class BootstrapContainer
SimpleContext.new
end.as_singleton
@container.register(:session_factory) do
- @container.build(SessionFactory)
- end
+ session_factory
+ end.as_singleton
@container.register(:key) do
Key.new("database.session")
- end
+ end.as_singleton
@container.register(:current_user_interceptor) do
@container.build(CurrentUserInterceptor)
end