Sha256: a06ac856b9e6ea957f138cb94e22c42ce1f3d8c6f62f3da778abbd584ec16cd5

Contents?: true

Size: 1.37 KB

Versions: 59

Compression:

Stored size: 1.37 KB

Contents

# frozen_string_literal: true

module Orchestration
  module Services
    module App
      class Configuration
        include ConfigurationBase

        self.service_name = 'app'

        def enabled?
          true
        end

        def initialize(env, service_name = nil, options = {})
          super
          @settings = {}
        end

        def docker_organization
          @env.settings.get('docker.organization')
        end

        def app_name
          @env.settings.get('docker.repository')
        end

        def friendly_config
          "[#{app_name}] #{host}:#{port}"
        end

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

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

          build_database_url(settings)
        end

        private

        def build_database_url(settings)
          adapter = settings.fetch('adapter')
          database = settings.fetch('database')
          username = settings.fetch('username')
          password = settings.fetch('password')
          port = settings.fetch('port')
          host = settings['host'] || Database::Configuration.service_name

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

Version data entries

59 entries across 59 versions & 1 rubygems

Version Path
orchestration-0.7.15 lib/orchestration/services/app/configuration.rb
orchestration-0.6.16 lib/orchestration/services/app/configuration.rb
orchestration-0.7.14 lib/orchestration/services/app/configuration.rb
orchestration-0.7.13 lib/orchestration/services/app/configuration.rb
orchestration-0.6.15 lib/orchestration/services/app/configuration.rb
orchestration-0.7.12 lib/orchestration/services/app/configuration.rb
orchestration-0.6.14 lib/orchestration/services/app/configuration.rb
orchestration-0.7.11 lib/orchestration/services/app/configuration.rb
orchestration-0.6.13 lib/orchestration/services/app/configuration.rb
orchestration-0.7.10 lib/orchestration/services/app/configuration.rb
orchestration-0.7.9 lib/orchestration/services/app/configuration.rb
orchestration-0.6.12 lib/orchestration/services/app/configuration.rb
orchestration-0.7.8 lib/orchestration/services/app/configuration.rb
orchestration-0.6.11 lib/orchestration/services/app/configuration.rb
orchestration-0.7.6 lib/orchestration/services/app/configuration.rb
orchestration-0.6.10 lib/orchestration/services/app/configuration.rb
orchestration-0.7.5 lib/orchestration/services/app/configuration.rb
orchestration-0.7.4 lib/orchestration/services/app/configuration.rb
orchestration-0.6.9 lib/orchestration/services/app/configuration.rb
orchestration-0.6.8 lib/orchestration/services/app/configuration.rb