Class: Bundler::Settings

### Home Classes Methods

### In Files

- lib/bundler/settings.rb

### Parent

Object

### Methods

- ::new
- #[]
- #[]=
- #all
- #allow_sudo?
- #delete
- #ignore_config?
- #local_overrides
- #locations
- #path
- #pretty_values_for
- #set_global
- #set_local
- #without
- #without=

### Files

- bundle
- bundle-config
- bundle-config.txt
- bundle-exec
- bundle-exec.txt
- bundle-install
- bundle-install.txt
- bundle-package
- bundle-package.txt
- bundle-platform
- bundle-platform.txt
- bundle-update
- bundle-update.txt
- bundle.txt
- gemfile.5.txt
- Executable
- Gemfile

### Class/Module Index

Quicksearch

- Bundler
- Bundler::BundlerError
- Bundler::CLI
- Bundler::Definition
- Bundler::DepProxy
- Bundler::Dependency
- Bundler::Deployment
- Bundler::Deprecate
- Bundler::DeprecatedError
- Bundler::Dsl
- Bundler::EndpointSpecification
- Bundler::Env
- Bundler::Environment
- Bundler::Fetcher
- Bundler::Fetcher::CertificateFailureError
- Bundler::Fetcher::FallbackError
- Bundler::Fetcher::SSLError
- Bundler::GemHelper
- Bundler::GemHelpers
- Bundler::GemInstaller
- Bundler::GemNotFound
- Bundler::GemfileError
- Bundler::GemfileNotFound
- Bundler::GemspecError
- Bundler::GitError
- Bundler::Graph
- Bundler::Graph::GraphVizClient
- Bundler::HTTPError
- Bundler::Index
- Bundler::Injector
- Bundler::InstallError
- Bundler::InstallHookError
- Bundler::Installer
- Bundler::InvalidOption
- Bundler::InvalidSpecSet
- Bundler::LazySpecification
- Bundler::LockfileError
- Bundler::LockfileParser
- Bundler::MarshalError
- Bundler::MatchPlatform
- Bundler::PathError
- Bundler::ProductionError
- Bundler::RemoteSpecification
- Bundler::Resolver
- Bundler::Resolver::SpecGroup
- Bundler::RubyDsl
- Bundler::RubyVersion
- Bundler::RubyVersionMismatch
- Bundler::RubygemsIntegration
- Bundler::RubygemsIntegration::AlmostModern
- Bundler::RubygemsIntegration::Ancient
- Bundler::RubygemsIntegration::Future
- Bundler::RubygemsIntegration::Gem
- Bundler::RubygemsIntegration::Gem::SourceIndex
- Bundler::RubygemsIntegration::Legacy
- Bundler::RubygemsIntegration::Modern
- Bundler::RubygemsIntegration::Transitional
- Bundler::Runtime
- Bundler::SecurityError
- Bundler::Settings
- Bundler::SharedHelpers
- Bundler::SimilarityDetector
- Bundler::Source
- Bundler::Source::Git
- Bundler::Source::Git::GitProxy
- Bundler::Source::Path
- Bundler::Source::Path::Installer
- Bundler::Source::Rubygems
- Bundler::SpecSet
- Bundler::SystemRubyVersion
- Bundler::UI
- Bundler::UI::RGProxy
- Bundler::UI::Shell
- Bundler::VersionConflict
- Gem
- Gem::Dependency
- Gem::Platform
- Gem::Requirement
- Gem::Specification
- Object

No matching classes.

# Bundler::Settings

### Public Class Methods

new(root = nil) click to toggle source

    # File lib/bundler/settings.rb, line 3
    def initialize(root = nil)
      @root          = root
      @local_config  = load_config(local_config_file)
      @global_config = load_config(global_config_file)
    end

### Public Instance Methods

[](key) click to toggle source

    # File lib/bundler/settings.rb, line 9
    def [](key)
      the_key = key_for(key)
      value = (@local_config[the_key] || ENV[the_key] || @global_config[the_key])
      is_bool(key) ? to_bool(value) : value
    end

[]=(key, value) click to toggle source

    # File lib/bundler/settings.rb, line 15
    def []=(key, value)
      local_config_file || raise(GemfileNotFound)
      set_key(key, value, @local_config, local_config_file)
    end

Also aliased as: set_local
all() click to toggle source

    # File lib/bundler/settings.rb, line 30
    def all
      env_keys = ENV.keys.select { |k| k =~ /BUNDLE_.*/ }
      keys = @global_config.keys | @local_config.keys | env_keys

      keys.map do |key|
        key.sub(/^BUNDLE_/, '').gsub(/__/, ".").downcase
      end
    end

allow_sudo?() click to toggle source

    # File lib/bundler/settings.rb, line 99
    def allow_sudo?
      !@local_config.key?(key_for(:path))
    end

delete(key) click to toggle source

    # File lib/bundler/settings.rb, line 22
    def delete(key)
      @local_config.delete(key_for(key))
    end

ignore_config?() click to toggle source

    # File lib/bundler/settings.rb, line 103
    def ignore_config?
      ENV['BUNDLE_IGNORE_CONFIG']
    end

local_overrides() click to toggle source

    # File lib/bundler/settings.rb, line 39
    def local_overrides
      repos = {}
      all.each do |k|
        if k =~ /^local\./
          repos[$'] = self[k]
        end
      end
      repos
    end

locations(key) click to toggle source

    # File lib/bundler/settings.rb, line 49
    def locations(key)
      key = key_for(key)
      locations = {}
      locations[:local]  = @local_config[key] if @local_config.key?(key)
      locations[:env]    = ENV[key] if ENV[key]
      locations[:global] = @global_config[key] if @global_config.key?(key)
      locations
    end

path() click to toggle source

@local_config should be prioritized over ENV

    # File lib/bundler/settings.rb, line 87
    def path
      key  = key_for(:path)
      path = ENV[key] || @global_config[key]
      return path if path && !@local_config.key?(key)

      if path = self[:path]
        "#{path}/#{Bundler.ruby_scope}"
      else
        Bundler.rubygems.gem_dir
      end
    end

pretty_values_for(exposed_key) click to toggle source

    # File lib/bundler/settings.rb, line 58
    def pretty_values_for(exposed_key)
      key = key_for(exposed_key)

      locations = []
      if @local_config.key?(key)
        locations << "Set for your local app (#{local_config_file}): #{@local_config[key].inspect}"
      end

      if value = ENV[key]
        locations << "Set via #{key}: #{value.inspect}"
      end

      if @global_config.key?(key)
        locations << "Set for the current user (#{global_config_file}): #{@global_config[key].inspect}"
      end

      return ["You have not configured a value for `#{exposed_key}`"] if locations.empty?
      locations
    end

set_global(key, value) click to toggle source

    # File lib/bundler/settings.rb, line 26
    def set_global(key, value)
      set_key(key, value, @global_config, global_config_file)
    end

set_local(key, value) click to toggle source
Alias for: []=
without() click to toggle source

    # File lib/bundler/settings.rb, line 82
    def without
      self[:without] ? self[:without].split(":").map { |w| w.to_sym } : []
    end

without=(array) click to toggle source

    # File lib/bundler/settings.rb, line 78
    def without=(array)
      self[:without] = (array.empty? ? nil : array.join(":")) if array
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.