Module: DockerCompose::Generator

Defined in:
lib/docker-compose/generator.rb,
lib/docker-compose/generator/service.rb,
lib/docker-compose/generator/version.rb,
lib/docker-compose/generator/service/net.rb,
lib/docker-compose/generator/service/pid.rb,
lib/docker-compose/generator/service/links.rb,
lib/docker-compose/generator/service/ports.rb,
lib/docker-compose/generator/service/labels.rb,
lib/docker-compose/generator/service/volumes.rb,
lib/docker-compose/generator/service/environment.rb

Overview

Injects the VERSION into the Generator Module

Defined Under Namespace

Classes: Service

Constant Summary collapse

MAJOR =

Current major release.

Returns:

  • (Integer)
0
MINOR =

Current minor release.

Returns:

  • (Integer)
4
PATCH =

Current patch level.

Returns:

  • (Integer)
1
VERSION =

Full release version.

Returns:

  • (String)
[MAJOR, MINOR, PATCH].join('.').freeze

Class Method Summary collapse

Class Method Details

.create_service(name, image) ⇒ Service

Create a new service

Parameters:

  • name (String)

    The name of the service in docker

  • image (String)

    The Image that the service will use in docker

Returns:



21
22
23
# File 'lib/docker-compose/generator.rb', line 21

def self.create_service(name, image)
  @services[name] = Service.new(name, image)
end

.get_service(name) ⇒ Service

Return a Service

Parameters:

  • name (String)

    The name of the service to return

Returns:



40
41
42
# File 'lib/docker-compose/generator.rb', line 40

def self.get_service(name)
  @services[name] if self.service?(name)
end

.import(yaml_object) ⇒ Object

Import

Parameters:

  • yaml_object (Hash)

    The yaml object to convert to services



75
76
77
78
79
80
# 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) ⇒ Service|Nil

Remove a Service

Parameters:

  • name (String)

    The name of the service to remove

Returns:

  • (Service|Nil)

    The removed service, or nil if no service was removed



51
52
53
# File 'lib/docker-compose/generator.rb', line 51

def self.remove_service!(name)
  @services.delete(name)
end

.reset!Object

Reset the List of Services



67
68
69
# File 'lib/docker-compose/generator.rb', line 67

def self.reset!
  @services = {}
end

.service?(name) ⇒ Boolean

Does this service exist?

Parameters:

  • name (String)

    The name of the service to check for

Returns:

  • (Boolean)


30
31
32
# File 'lib/docker-compose/generator.rb', line 30

def self.service?(name)
  (@services[name])
end

.to_yamlObject

Convert The Services to Yaml



56
57
58
59
60
61
62
63
64
# 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