Sha256: 37ac580267088dda5c5161c40a5e42f5d02beda77f74ae135e5a90a5e5b01ded
Contents?: true
Size: 1.02 KB
Versions: 9
Compression:
Stored size: 1.02 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 {} unless @environment == :development { 'volumes' => ["#{volume}:#{@config.adapter.data_dir}"] } end end end end
Version data entries
9 entries across 9 versions & 1 rubygems