Sha256: 6f1033b4011cf7e4bc22479f4d112c1df7a3edeb45678d34c39ad6e9bf205cab

Contents?: true

Size: 1.22 KB

Versions: 1

Compression:

Stored size: 1.22 KB

Contents

# frozen_string_literal: true

module Orchestration
  module Services
    module Application
      class Configuration
        include ConfigurationBase

        self.service_name = 'application'

        def initialize(env, service_name = nil)
          super
          @settings = {} # Included for interface consistency; currently unused.
        end

        def docker_username
          @env.settings.get('docker.username')
        end

        def application_name
          @env.application_name
        end

        def friendly_config
          "[#{application_name}] #{host}:#{local_port}"
        end

        def database_settings
          Database::Configuration.new(@env).settings
        end

        def database_url
          settings = database_settings
          return nil if settings.fetch('adapter') == 'sqlite3'

          scheme = settings.fetch('scheme')
          database = settings.fetch('database')
          username = settings.fetch('username')
          password = settings.fetch('password')
          port = DockerCompose::DatabaseService::PORT
          host = Database::Configuration.service_name

          "#{scheme}://#{username}:#{password}@#{host}:#{port}/#{database}"
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
orchestration-0.2.8 lib/orchestration/services/application/configuration.rb