Sha256: 1cb0bd40164140d6d7facaec0005b5ff71a470a3b7a3d21e7a602a1e224e6c22

Contents?: true

Size: 1.61 KB

Versions: 9

Compression:

Stored size: 1.61 KB

Contents

module SimpleDeploy
  class Config

    attr_accessor :config, :logger

    def initialize(args = {})
      load_config_file
      self.logger = args[:logger] ||= SimpleDeployLogger.new
    end

    def artifacts
      ['chef_repo', 'cookbooks', 'app']
    end

    def artifact_deploy_variable(artifact)
      name_to_variable_map = { 'chef_repo' => 'CHEF_REPO_URL',
                               'app'       => 'APP_URL',
                               'cookbooks' => 'COOKBOOKS_URL' }
      name_to_variable_map[artifact]
    end

    def artifact_cloud_formation_url(artifact)
      name_to_url_map = { 'chef_repo' => 'ChefRepoURL',
                          'app'       => 'AppArtifactURL',
                          'cookbooks' => 'CookbooksURL' }
      name_to_url_map[artifact]
    end 

    def artifact_domain(artifact)
      config['artifacts'][artifact]['domain'] ||= artifact
    end

    def artifact_bucket_prefix(artifact)
      config['artifacts'][artifact]['bucket_prefix']
    end

    def deploy_script
      '/opt/intu/admin/bin/configure.sh'
    end

    def environments
      config['environments']
    end

    def environment(name)
      raise "Environment not found" unless environments.include? name
      environments[name]
    end

    def notifications
      config['notifications']
    end

    def region(name)
      environment(name)['region']
    end

    private

    def load_config_file
      config_file = "#{ENV['HOME']}/.simple_deploy.yml"
      self.config = YAML::load( File.open( config_file ) )
    end

    def env_home
      ENV['HOME']
    end

    def env_user
      ENV['USER']
    end

  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
simple_deploy-0.4.8 lib/simple_deploy/config.rb
simple_deploy-0.4.7 lib/simple_deploy/config.rb
simple_deploy-0.4.6 lib/simple_deploy/config.rb
simple_deploy-0.4.5 lib/simple_deploy/config.rb
simple_deploy-0.4.5.rc.0 lib/simple_deploy/config.rb
simple_deploy-0.4.4 lib/simple_deploy/config.rb
simple_deploy-0.4.3 lib/simple_deploy/config.rb
simple_deploy-0.4.2 lib/simple_deploy/config.rb
simple_deploy-0.4.1 lib/simple_deploy/config.rb