Sha256: 148d1f40c70185345a7feaa8b2cb95491bbfa851f117d9653fc495923324c5c5
Contents?: true
Size: 817 Bytes
Versions: 1
Compression:
Stored size: 817 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 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.5.1 | lib/bundler/dependencies/spec.rb |