class Ludwig::Composer

Public Instance Methods

generate_yaml() click to toggle source
# File lib/ludwig/composer.rb, line 13
def generate_yaml
  config["available_projects"].each_with_object({}) do |project, new_compose_data|
    data = YAML.load_file("../#{project}/docker-compose.yml")
    data.each do |service_name, service_data|
      service = Service.new(project, service_name, service_data, config)
      new_compose_data["#{sanitize(project)}_#{service_name}"] = service.generate_yaml
    end
  end.to_yaml
end
sanitize(input) click to toggle source
# File lib/ludwig/composer.rb, line 9
def sanitize(input)
  input.gsub(/-/, "_")
end
write_yaml() click to toggle source
# File lib/ludwig/composer.rb, line 3
def write_yaml
  File.open('docker-compose.yml','w') do |h|
    h.write generate_yaml
  end
end