# File bundler/dependency.rb, line 86
def initialize(name, version, options = {}, &blk)
  type = options["type"] || :runtime
  super(name, version, type)
  @autorequire    = nil
  @groups         = Array(options["group"] || :default).map(&:to_sym)
  @source         = options["source"]
  @git            = options["git"]
  @branch         = options["branch"]
  @platforms      = Array(options["platforms"])
  @env            = options["env"]
  @should_include = options.fetch("should_include", true)
  @gemfile        = options["gemfile"]
  @autorequire = Array(options["require"] || []) if options.key?("require")
end
             
             
               # File bundler/dependency.rb, line 121
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
             
             
               # File bundler/dependency.rb, line 132
def current_platform?
  return true if @platforms.empty?
  @platforms.any? do |p|
    Bundler.current_ruby.send("#{p}?")
  end
end
             
             
               # File bundler/dependency.rb, line 113
def expanded_platforms
  @platforms.map {|pl| PLATFORM_MAP[pl] }
end
             
            Returns the platforms this dependency is valid for, in the same order as passed in the `valid_platforms` parameter
 
               # File bundler/dependency.rb, line 105
def gem_platforms(valid_platforms)
  return valid_platforms if @platforms.empty?
  @gem_platforms ||= expanded_platforms.compact.uniq
  valid_platforms & @gem_platforms
end
             
             
               # File bundler/dependency.rb, line 117
def should_include?
  @should_include && current_env? && current_platform?
end