Sha256: b9bdfbb3ec28aeec75c475a52b7b23f6b243b5bfd3874cedceec3503c0ec1b5f
Contents?: true
Size: 909 Bytes
Versions: 1
Compression:
Stored size: 909 Bytes
Contents
module Bundler module Dependencies class Spec SPECS = {} # rubocop:disable Style/MutableConstant attr_accessor :name, :dependencies 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 def self.find(name) SPECS[name.to_sym] end def initialize(name) @name = name @dependencies = Graph.new SPECS[name] = self end def include_dependency?(gem) dependencies.include_dependency?(gem) end def flatten dependencies.inject([]) do |arr, dependency| arr << dependency arr.concat(dependency.flatten) end.uniq end def dependency_count flatten.count end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
bundler-dependencies-0.6.0 | lib/bundler/dependencies/spec.rb |