Sha256: c1c8c09d7e4117bbfd03d3cd10da381abdb90511b020876852b77ede29cecb30
Contents?: true
Size: 1.15 KB
Versions: 27
Compression:
Stored size: 1.15 KB
Contents
# frozen_string_literal: true module Orchestration module DockerCompose class DatabaseService include ComposeHelpers def initialize(config, environment) @environment = environment @config = config end def definition return nil unless @config.enabled? return nil if adapter.name == 'sqlite3' { 'image' => adapter.image, 'environment' => adapter.environment, 'networks' => networks }.merge(ports).merge(volumes) end private def adapter name = ComposeConfiguration.new(@environment).database_adapter_name base = 'Orchestration::Services::Database::Adapters' Object.const_get("#{base}::#{name.capitalize}").new end def remote_port adapter.default_port end def ports return {} unless %i[development test].include?(@environment) { 'ports' => ["#{sidecar_port(@environment)}#{remote_port}"] } end def volumes return {} if @environment == :test { 'volumes' => ["#{@config.env.database_volume}:#{adapter.data_dir}"] } end end end end
Version data entries
27 entries across 27 versions & 1 rubygems