Sha256: 4a089155dd319873545641adc4ab868a7b7b5891af349ed4f7a6cff073de68a6

Contents?: true

Size: 937 Bytes

Versions: 7

Compression:

Stored size: 937 Bytes

Contents

require 'dep_analyzer'

begin
  require "rubygems/cleanroom"
rescue LoadError
  warn "NOTE: Not using rubygems-cleanroom. Try it! You might like it."
end

# :stopdoc:

$a ||= false

class RubygemsAnalyzer < DepAnalyzer
  def installed
    # don't cache so it updates every delete
    puts "scanning installed rubygems"
    Gem::Specification.map(&:name).sort
  end

  def outdated
    # don't cache so it updates every delete
    puts "scanning outdated rubygems"
    Gem::Specification.outdated.sort
  end

  def deps gem_name
    gem = Gem::Specification.find_by_name gem_name
    gem.dependencies
  end

  def decorate
    developer_dependency = g.gray

    installed = self.installed

    installed.each do |gem|
      deps = self.deps gem

      deps.each do |dep|
        next if dep.type == :runtime
        name = dep.name
        developer_dependency << g[gem][name] if $a or installed.include? name
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
graph-2.11.1 lib/rubygems_analyzer.rb
graph-2.11.0 lib/rubygems_analyzer.rb
graph-2.10.0 lib/rubygems_analyzer.rb
graph-2.9.1 lib/rubygems_analyzer.rb
graph-2.9.0 lib/rubygems_analyzer.rb
graph-2.8.2 lib/rubygems_analyzer.rb
graph-2.8.1 lib/rubygems_analyzer.rb