Class: DockerNginxProxy::Cli

Inherits:
Clamp::Command
  • Object
show all
Defined in:
lib/docker_nginx_proxy/cli.rb

Instance Method Summary collapse

Instance Method Details

#_convert_mapping_to_hash(encoded_mappings) ⇒ Object



19
20
21
22
23
24
25
26
# File 'lib/docker_nginx_proxy/cli.rb', line 19

def _convert_mapping_to_hash(encoded_mappings)
  mappings = {}
  encoded_mappings.each do |encoded_mapping|
    domain_port, container_port = encoded_mapping.split('=', 2)
    mappings[domain_port] = container_port.to_i
  end
  mappings
end

#executeObject



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/docker_nginx_proxy/cli.rb', line 7

def execute

  docker_port_mappings = Docker.new.get_mappings(name)
  mappings = _convert_mapping_to_hash(encoded_mappings)
  mappings.map do |domain_port, container_port|
    docker_port = docker_port_mappings[container_port]
    raise "No docker port found for container port #{container_port}. Mappings: #{docker_port_mappings}" unless docker_port
    mappings[domain_port] = docker_port
  end
  Nginx.new.install_proxy(name, mappings)
end