Sha256: 2e928cd5eacb33235c755680fa5849e6520fc61e7565dff488424fed8ad8d222
Contents?: true
Size: 1.01 KB
Versions: 5
Compression:
Stored size: 1.01 KB
Contents
# frozen_string_literal: true module Orchestration module DockerCompose class DatabaseService # We dictate which port all database services will run on in their # container to simplify port mapping. PORT = 3354 def initialize(config, environment) @environment = environment @config = config end def definition return nil if @config.settings.nil? return nil if @config.adapter.name == 'sqlite3' { 'image' => @config.adapter.image, 'environment' => @config.adapter.environment }.merge(ports).merge(volumes) end private def volume @config.env.database_volume end def ports return {} unless %i[development test].include?(@environment) { 'ports' => ["#{@config.settings.fetch('port')}:#{PORT}"] } end def volumes return {} if @environment == :test { 'volumes' => ["#{volume}:#{@config.adapter.data_dir}"] } end end end end
Version data entries
5 entries across 5 versions & 1 rubygems