module DockerCompose::Generator

Static Generator Class Used to create and keep track of services

Injects the VERSION into the Generator Module

Constants

MAJOR

Current major release. @return [Integer]

MINOR

Current minor release. @return [Integer]

PATCH

Current patch level. @return [Integer]

VERSION

Full release version. @return [String]

Public Class Methods

create_service(name, image) click to toggle source

Create a new service

@param [String] name

The name of the service in docker

@param [String] image

The Image that the service will use in docker

@return [Service]

# File lib/docker-compose/generator.rb, line 21
def self.create_service(name, image)
  @services[name] = Service.new(name, image)
end
get_service(name) click to toggle source

Return a Service

@param [String] name

The name of the service to return

@return [Service]

# File lib/docker-compose/generator.rb, line 40
def self.get_service(name)
  @services[name] if self.service?(name)
end
import(yaml_object) click to toggle source

Import

@param [Hash] yaml_object

The yaml object to convert to services
# File lib/docker-compose/generator.rb, line 75
def self.import(yaml_object)
  yaml_object.each do |key, value|
    service = create_service(key, value['image'])
    service.import(value)
  end
end
remove_service!(name) click to toggle source

Remove a Service

@param [String] name

The name of the service to remove

@return [Service|Nil]

The removed service, or nil if no service was removed
# File lib/docker-compose/generator.rb, line 51
def self.remove_service!(name)
  @services.delete(name)
end
reset!() click to toggle source

Reset the List of Services

# File lib/docker-compose/generator.rb, line 67
def self.reset!
  @services = {}
end
service?(name) click to toggle source

Does this service exist?

@param [String] name

The name of the service to check for

@return [Boolean]

# File lib/docker-compose/generator.rb, line 30
def self.service?(name)
  (@services[name])
end
to_yaml() click to toggle source

Convert The Services to Yaml

# File lib/docker-compose/generator.rb, line 56
def self.to_yaml
  yaml = {}

  @services.each do |key, obj|
    yaml[key] = obj.attrs
  end

  yaml.to_yaml
end