Sha256: 30f138ddb93d601c7e7394bd301967050da127d2355652b21f4a0aea9a8a1eea

Contents?: true

Size: 666 Bytes

Versions: 4

Compression:

Stored size: 666 Bytes

Contents

require "rubygems"
require 'dep_analyzer'

class RakeAnalyzer < DepAnalyzer
  def run
    digraph do
      rotate
      boxes

      current = nil
      rake = Gem.bin_path('rake', 'rake') rescue 'rake'
      path = $:.join File::PATH_SEPARATOR

      `#{Gem.ruby} -I#{path} -S #{rake} -P -s`.each_line do |line|
        case line
        when /^rake (.+)/
          name = $1
          current = name
          node current if current
        when /^\s+(.+)/
          dep = $1
          next if current =~ /pkg/ and File.file? dep
          edge current, dep if current
        else
          warn "unparsed: #{line.chomp}"
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
graph-2.3.1 lib/rake_analyzer.rb
graph-2.3.0 lib/rake_analyzer.rb
graph-2.2.0 lib/rake_analyzer.rb
graph-2.1.0 lib/rake_analyzer.rb