Sha256: 392d0b94a78dcad4efc8e12d4d9ea6889f9b873fcb22f258610582b3c4ec842b

Contents?: true

Size: 1.16 KB

Versions: 5

Compression:

Stored size: 1.16 KB

Contents

# frozen_string_literal: true

module Orchestration
  class Environment
    def initialize(options = {})
      @environment = options.fetch(:environment, nil)
    end

    def environment
      return @environment unless @environment.nil?

      ENV['RAILS_ENV'] || ENV['RACK_ENV'] || 'development'
    end

    def database_url
      ENV['DATABASE_URL']
    end

    def mongoid_configuration_path
      root.join('config', 'mongoid.yml')
    end

    def database_configuration_path
      root.join('config', 'database.yml')
    end

    def rabbitmq_configuration_path
      root.join('config', 'rabbitmq.yml')
    end

    def orchestration_configuration_path
      root.join('.orchestration.yml')
    end

    def docker_compose_configuration_path
      root.join('docker-compose.yml')
    end

    def docker_compose_config
      YAML.safe_load(File.read(docker_compose_configuration_path))
    end

    def application_name
      Rails.application.class.parent.name.underscore
    end

    def settings
      Settings.new(orchestration_configuration_path)
    end

    def root
      return Rails.root if defined?(Rails) && Rails.root

      Pathname.new(Dir.pwd)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
orchestration-0.2.7 lib/orchestration/environment.rb
orchestration-0.2.6 lib/orchestration/environment.rb
orchestration-0.2.5 lib/orchestration/environment.rb
orchestration-0.2.4 lib/orchestration/environment.rb
orchestration-0.2.3 lib/orchestration/environment.rb