module DockerizeRails::DockerCommands::DockerHelpers

Constants

NAMES

Public Class Methods

build_options(definitions, service) click to toggle source
# File lib/dockerize_rails/docker_commands/docker_helpers.rb, line 55
def self.build_options(definitions, service)
  options = DockerOptions.new
  options.image get_name(service, :image)
  options.name get_name(service, :container)
  options.hostname '0.0.0.0'
  definitions['expose'].each { |expose| options.expose expose } if definitions.key?('expose')
  definitions['environment'].each { |env| options.add_env env } if definitions.key?('environment')
  if definitions.key?('ports')
    definitions['ports'].each do |ports|
      options.add_port_binds(ports.split(':')[1], ports.split(':')[0])
    end
  end
  if definitions.key?('links')
    definitions['links'].each do |link|
      options.add_links(get_name(link.split(':')[0].to_sym, :container), link.split(':')[1])
    end
  end
  options.options
end
ensure_docker_service() click to toggle source
# File lib/dockerize_rails/docker_commands/docker_helpers.rb, line 38
def self.ensure_docker_service
  Docker.version
  0
rescue Excon::Error::Socket => exception
  puts exception.to_s.red
  puts ' ==> Is docker running?'.yellow
  exit(1)
rescue Docker::Error::ServerError => exception
  puts exception.to_s.red
  puts ' ==> Is docker running?'.yellow
  exit(1)
rescue Excon::Error::BadGateway => exception
  puts exception.to_s.red
  puts ' ==> Is docker running?'.yellow
  exit(1)
end
get_name(service, type) click to toggle source
# File lib/dockerize_rails/docker_commands/docker_helpers.rb, line 19
def self.get_name(service, type)
  "#{NAMES[type][service]}#{NAMES[type][:suffix]}".freeze
end
print_version() click to toggle source
recurse_merge(first, second) click to toggle source
# File lib/dockerize_rails/docker_commands/docker_helpers.rb, line 28
def self.recurse_merge(first, second)
  first.merge(second) do |_, first_element, second_element|
    if first_element.is_a?(Hash) && second_element.is_a?(Hash)
      recurse_merge(first_element, second_element)
    else
      [*first_element, *second_element]
    end
  end
end
services_from_docker_compose() click to toggle source
# File lib/dockerize_rails/docker_commands/docker_helpers.rb, line 23
def self.services_from_docker_compose
  docker_compose = YAML.load_file "#{PATHS.current}/docker-compose.yml"
  docker_compose['services']
end