Sha256: 8f6879149ea9a1ab857996f83d6a021994825fa1ddf605a6df93170db52038bf

Contents?: true

Size: 610 Bytes

Versions: 1

Compression:

Stored size: 610 Bytes

Contents

class Dependencies

  attr_reader :all_libs

  def initialize(lib_strings)
    @all_libs = []
    lib_strings.each do |lib_string|
      add(lib_string)
    end
  end

  def self.transitive_dependencies(lib)
    return Dependencies.new(lib).all_libs
  end



  def self.tr_libs(libs)
    return LibHelper.new(libs).all_libs
  end

  def add_unique(lib)
    @all_libs.delete(lib)
    @all_libs.push(lib)
  end

  def add(lib)
    bb = ALL_BUILDING_BLOCKS[lib]
    if !bb
      raise "dependency not found #{lib}"
    end
    add_unique(bb)
    bb.dependencies.each do |dep|
      add(dep)
    end
  end




end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cxxproject-0.2 lib/cxxproject/dependencies.rb