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"]
  @should_include = options.fetch("should_include", true)

  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 81
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 92
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 65
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 77
def should_include?
  @should_include && current_env? && current_platform?
end
specific?() click to toggle source
Calls superclass method
# File lib/bundler/dependency.rb, line 105
def specific?
  super
rescue NoMethodError
  requirement != ">= 0"
end
to_lock() click to toggle source
Calls superclass method
# File lib/bundler/dependency.rb, line 99
def to_lock
  out = super
  out << '!' if source
  out << "\n"
end