class Indocker::ContainerMetadataFactory
  include SmartIoC::Iocify

  bean :container_metadata_factory

  inject :docker_api
  inject :container_evaluator
  inject :image_metadata_repository
  inject :network_metadata_repository
  inject :container_metadata_repository
  inject :volume_metadata_repository

  def create(name, attach: false, &definition)
    context = Indocker::DSLContext.new(
      images:         image_metadata_repository,
      networks:       network_metadata_repository,
      containers:     container_metadata_repository,
      volumes:        volume_metadata_repository,
      container_name: name
    )

    directives = container_evaluator.evaluate(context, &definition)

    Indocker::ContainerMetadata.new(
      name:         name.to_s,
      directives:   directives,
      attach:       attach  
    )
  end
end
class Indocker::ContainerMetadataFactory
  include SmartIoC::Iocify

  bean :container_metadata_factory

  inject :docker_api
  inject :container_evaluator
  inject :image_metadata_repository
  inject :network_metadata_repository
  inject :container_metadata_repository
  inject :volume_metadata_repository
  inject :git_helper

  def create(name, attach: false, &definition)
    context = Indocker::DSLContext.new(
      images:         image_metadata_repository,
      networks:       network_metadata_repository,
      containers:     container_metadata_repository,
      volumes:        volume_metadata_repository,
      container_name: name,
      git:            git_helper
    )

    directives = container_evaluator.evaluate(context, &definition)

    Indocker::ContainerMetadata.new(
      name:         name.to_s,
      directives:   directives,
      attach:       attach  
    )
  end
end
Add git helper to container DSL
Add git helper to container DSL
