blob: 69da6d5956efcd0f4c49c26ec7a102a8882cb370 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
class ConfigureContainerCommand
def configure(container)
container.register(:exif_parser) { |builder| ExifParser.new }
container.register(:twitter_publisher) { |c| c.build(TwitterPublisher) }
container.register(:product_api) { |c| AmazonAPI.new }.as_singleton
if Rails.env.test?
container.register(:blob_storage) { |builder| BlobStorage::Fake.new }
else
container.register(:blob_storage) { |builder| BlobStorage.new }
end
# repositories
container.register(:cakes) { |builder| Creation::Repository.new }.as_singleton
container.register(:photos) { |builder| Photo }
container.register(:users) { |builder| User::Repository.new }.as_singleton
end
end
if Rails.configuration.cache_classes
container = Spank::Container.new
ConfigureContainerCommand.new.configure(container)
Spank::IOC.bind_to(container)
else
ActiveSupport::Reloader.to_prepare do
container = Spank::Container.new
ConfigureContainerCommand.new.configure(container)
Spank::IOC.bind_to(container)
end
end
|