class Bundler::Dependency - bundler-1.9.9 Documentation

# class Bundler::Dependency

### Constants

PLATFORM_MAP

### Attributes

autorequire[R]
groups[R]
platforms[R]

### Public Class Methods

new(name, version, options = {}, &blk) click to toggle source
Calls superclass method

    # File lib/bundler/dependency.rb, line 49
    def initialize(name, version, options = {}, &blk)
      type = options["type"] || :runtime
      super(name, version, type)

      @autorequire = nil
      @groups      = Array(options["group"] || :default).map { |g| g.to_sym }
      @source      = options["source"]
      @platforms   = Array(options["platforms"])
      @env         = options["env"]

      if options.key?('require')
        @autorequire = Array(options['require'] || [])
      end
    end

### Public Instance Methods

current_env?() click to toggle source

    # File lib/bundler/dependency.rb, line 80
    def current_env?
      return true unless @env
      if @env.is_a?(Hash)
        @env.all? do |key, val|
          ENV[key.to_s] && (val.is_a?(String) ? ENV[key.to_s] == val : ENV[key.to_s] =~ val)
        end
      else
        ENV[@env.to_s]
      end
    end

current_platform?() click to toggle source

    # File lib/bundler/dependency.rb, line 91
    def current_platform?
      return true if @platforms.empty?
      @platforms.any? { |p|
        Bundler.current_ruby.send("#{p}?")
      }
    end

gem_platforms(valid_platforms) click to toggle source

    # File lib/bundler/dependency.rb, line 64
    def gem_platforms(valid_platforms)
      return valid_platforms if @platforms.empty?

      platforms = []
      @platforms.each do |p|
        platform = PLATFORM_MAP[p]
        next unless valid_platforms.include?(platform)
        platforms |= [platform]
      end
      platforms
    end

should_include?() click to toggle source

    # File lib/bundler/dependency.rb, line 76
    def should_include?
      current_env? && current_platform?
    end

specific?() click to toggle source
Calls superclass method

    # File lib/bundler/dependency.rb, line 104
    def specific?
      super
    rescue NoMethodError
      requirement != ">= 0"
    end

to_lock() click to toggle source
Calls superclass method Gem::Dependency#to_lock

    # File lib/bundler/dependency.rb, line 98
    def to_lock
      out = super
      out << '!' if source
      out << "\n"
    end