class Bundler::Dependencies::Spec

Constants

SPECS

Attributes

dependencies[RW]
name[RW]

Public Class Methods

find(name) click to toggle source
# File lib/bundler/dependencies/spec.rb, line 15
def self.find(name)
  SPECS[name.to_sym]
end
new(name, dependencies = []) click to toggle source
Calls superclass method
# File lib/bundler/dependencies/spec.rb, line 8
def self.new(name, dependencies = [])
  name = name.to_sym
  spec = find(name) || super(name)
  spec.dependencies = Graph.new(specs: dependencies.map { |d| new(d) }) if dependencies.any?
  spec
end
new(name) click to toggle source
# File lib/bundler/dependencies/spec.rb, line 19
def initialize(name)
  @name = name
  @dependencies = Graph.new

  SPECS[name] = self
end

Public Instance Methods

dependency_count() click to toggle source
# File lib/bundler/dependencies/spec.rb, line 37
def dependency_count
  flatten.count
end
flatten() click to toggle source
# File lib/bundler/dependencies/spec.rb, line 30
def flatten
  dependencies.inject([]) do |arr, dependency|
    arr << dependency
    arr.concat(dependency.flatten)
  end.uniq
end
include_dependency?(gem) click to toggle source
# File lib/bundler/dependencies/spec.rb, line 26
def include_dependency?(gem)
  dependencies.include_dependency?(gem)
end