bundler_dependency_matrix 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 14bffeef020bb03f0fd7c17f700eb82192cf89a5
4
+ data.tar.gz: 9a2d23869e8ceb44a51a7dff69e94feb80a4feb4
5
+ SHA512:
6
+ metadata.gz: bb5b77e16d9b5bed20f94bf87a996163f900b0ee8fd98669002e0e6f67698cc397b04d3fcf33efbd4e6a78762f93907241a4518b99cf794be2c712e8c38fcc7a
7
+ data.tar.gz: c1f6d5ff6ff5b8b142b45b7cdeddb744a8d1b37a8fe1b3ec5aecc919f5e9bc031e6352d9cab482f0bc22f0541781f5297d8001d0273a82e5e40eb031a495b34d
data/.gitignore ADDED
@@ -0,0 +1 @@
1
+ spec/tmp
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,33 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ bundler_dependency_matrix (0.0.0)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ diff-lcs (1.2.5)
10
+ rspec (3.4.0)
11
+ rspec-core (~> 3.4.0)
12
+ rspec-expectations (~> 3.4.0)
13
+ rspec-mocks (~> 3.4.0)
14
+ rspec-core (3.4.2)
15
+ rspec-support (~> 3.4.0)
16
+ rspec-expectations (3.4.0)
17
+ diff-lcs (>= 1.2.0, < 2.0)
18
+ rspec-support (~> 3.4.0)
19
+ rspec-mocks (3.4.1)
20
+ diff-lcs (>= 1.2.0, < 2.0)
21
+ rspec-support (~> 3.4.0)
22
+ rspec-support (3.4.1)
23
+
24
+ PLATFORMS
25
+ ruby
26
+
27
+ DEPENDENCIES
28
+ bundler (~> 1.11.0)
29
+ bundler_dependency_matrix!
30
+ rspec (~> 3.4.0)
31
+
32
+ BUNDLED WITH
33
+ 1.11.2
data/README.md ADDED
@@ -0,0 +1,31 @@
1
+ # Bundler dependency matrix
2
+ Utility which will output a table containing gem versions used across your projects.
3
+
4
+ ![Build Status](https://circleci.com/gh/dobrinov/bundler_dependency_matrix.svg?style=shield&circle-token=:circle-token)
5
+
6
+ ## Install
7
+ ```bash
8
+ gem install bundler_dependency_matrix
9
+ ```
10
+
11
+ ## Usage
12
+ Let say that you have a directory `/path/to/root/dir` somewhere in which the Ruby projects `foo` and `bar` could be found.
13
+
14
+ Executing:
15
+ ```bash
16
+ bundler_dependency_matrix /path/to/root/dir
17
+ ```
18
+
19
+ Should result in:
20
+ ```bash
21
+ x | bar | foo
22
+ ---------------------------+--------+--------
23
+ diff-lcs | 1.2.5 | 1.2.5
24
+ rspec | 2.0.0 | 3.0.0
25
+ rspec-core | 2.0.0 | 3.0.4
26
+ rspec-expectations | 2.0.0 | 3.0.4
27
+ rspec-mocks | 2.0.0 | 3.0.4
28
+ rake | 10.0.0 | 11.1.0
29
+ rspec-support | x | 3.0.4
30
+ bundler_dependency_matrix | x | x
31
+ ```
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/env ruby
2
+ require 'rubygems'
3
+ require 'bundler/setup'
4
+ require 'find'
5
+ require 'bundler_dependency_matrix/project'
6
+ require 'bundler_dependency_matrix/matrix'
7
+ require 'bundler_dependency_matrix/views/console'
8
+
9
+ ARGV.each do |folder|
10
+ matrix = BundlerDependencyMatrix::Matrix.new
11
+
12
+ Find.find(folder) do |path|
13
+ if File.directory?(path) && File.exists?(File.join(path, 'Gemfile.lock'))
14
+ matrix.add_project(BundlerDependencyMatrix::Project.new(path))
15
+ Find.prune
16
+ end
17
+ end
18
+
19
+ view = BundlerDependencyMatrix::Views::Console.new(matrix.sorted_by_most_used)
20
+
21
+ view.render
22
+ end
@@ -0,0 +1,22 @@
1
+ lib = File.expand_path('../lib', __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require 'bundler_dependency_matrix/version'
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = 'bundler_dependency_matrix'
7
+ s.version = BundlerDependencyMatrix::VERSION
8
+ s.date = '2016-03-28'
9
+ s.summary = 'Gem version dependecy matrix'
10
+ s.description = ''
11
+ s.authors = ['Deyan Dobrinov', 'Aleksandar Ivanov']
12
+ s.email = ['deyan.dobrinov@gmail.com', 'aivanov92@gmail.com']
13
+ s.files = `git ls-files -z`.split("\x0")
14
+ s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
15
+ s.test_files = s.files.grep(%r{^(test|spec|features)/})
16
+ s.require_paths = ['lib']
17
+ s.homepage = 'http://github.com/dobrinov/bundler_dependency_matrix'
18
+ s.license = 'MIT'
19
+
20
+ s.add_development_dependency 'rspec', '~> 3.4', '>= 3.4.0'
21
+ s.add_development_dependency 'bundler', '~> 1.11', '>= 1.11.0'
22
+ end
@@ -0,0 +1,2 @@
1
+ module BundlerDependencyMatrix
2
+ end
@@ -0,0 +1,47 @@
1
+ module BundlerDependencyMatrix
2
+ class Matrix
3
+ attr_reader :projects
4
+
5
+ def initialize
6
+ @projects = []
7
+ end
8
+
9
+ def add_project(project)
10
+ @projects << project
11
+ end
12
+
13
+ def projects_sorted_by_name
14
+ @projects.sort { |a,b| a.name <=> b.name }
15
+ end
16
+
17
+ def project_names
18
+ projects_sorted_by_name.map(&:name)
19
+ end
20
+
21
+ def gem_names
22
+ @projects.map { |p| p.dependency_matrix.keys }.flatten.uniq
23
+ end
24
+
25
+ def sorted_by_most_used
26
+ header = [nil] + project_names
27
+
28
+ body = gems_by_usage.keys.map do |gem|
29
+ [gem] + projects_sorted_by_name.map { |project| project.dependency_matrix[gem] }
30
+ end
31
+
32
+ [header] + body
33
+ end
34
+
35
+ def gems_by_usage
36
+ gem_usage = Hash.new(0)
37
+
38
+ projects.each do |project|
39
+ project.dependency_matrix.each do |gem, _|
40
+ gem_usage[gem] += 1
41
+ end
42
+ end
43
+
44
+ gem_usage.sort_by {|key, value| [-value, key] }.to_h
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,31 @@
1
+ module BundlerDependencyMatrix
2
+ class Project
3
+ attr_reader :path
4
+
5
+ def initialize(path)
6
+ @path = path
7
+ end
8
+
9
+ def name
10
+ File.basename(File.expand_path(path))
11
+ end
12
+
13
+ def dependency_matrix
14
+ @dependency_matrix ||= specs.inject(Hash.new) { |h,spec| h.merge!(spec.name.to_s => spec.version.version) }
15
+ end
16
+
17
+ private
18
+
19
+ def lockfile
20
+ File.join(@path, 'Gemfile.lock')
21
+ end
22
+
23
+ def parsed_lockfile
24
+ Bundler::LockfileParser.new(Bundler.read_file(lockfile))
25
+ end
26
+
27
+ def specs
28
+ parsed_lockfile.specs
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,3 @@
1
+ module BundlerDependencyMatrix
2
+ VERSION = '0.0.0'
3
+ end
@@ -0,0 +1,48 @@
1
+ module BundlerDependencyMatrix
2
+ module Views
3
+ class Console
4
+ attr_reader :matrix
5
+
6
+ def initialize(matrix)
7
+ @matrix = matrix
8
+ end
9
+
10
+ def render
11
+ puts render_as_string
12
+ end
13
+
14
+ def render_as_string
15
+ string = []
16
+
17
+ string << row_as_string(matrix[0])
18
+ string << column_widths.map { |width| '-' * width }.join('+')
19
+
20
+ matrix[1..matrix.size].each do |row|
21
+ string << row_as_string(row)
22
+ end
23
+
24
+ string.join("\n") + "\n"
25
+ end
26
+
27
+ private
28
+
29
+ def row_as_string(row)
30
+ column_widths.map.with_index { |width, i| (row[i] || 'x').center(width) }.join('|')
31
+ end
32
+
33
+ def column_widths
34
+ widths = Array.new(matrix[0].size, 0)
35
+
36
+ matrix.each do |row|
37
+ row.each_with_index do |value, col_i|
38
+ if value && (widths[col_i] < value.size)
39
+ widths[col_i] = value.size
40
+ end
41
+ end
42
+ end
43
+
44
+ widths.map { |width| width + 2 }
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,120 @@
1
+ require 'spec_helper'
2
+
3
+ describe BundlerDependencyMatrix::Matrix do
4
+ subject(:matrix) { described_class.new }
5
+ let(:project) { [] }
6
+
7
+ describe '#add_project' do
8
+ let(:project) { double(:project) }
9
+
10
+ it 'adds a project' do
11
+ expect do
12
+ matrix.add_project(project)
13
+ end.to change { matrix.projects.count }.by(1)
14
+ end
15
+ end
16
+
17
+ describe '#project_names' do
18
+ it 'returns project names' do
19
+ matrix.add_project(double(:project, name: 'foo'))
20
+ matrix.add_project(double(:project, name: 'bar'))
21
+
22
+ expect(matrix.project_names).to eq(['bar', 'foo'])
23
+ end
24
+ end
25
+
26
+ describe '#gem_names' do
27
+ it 'returns gem names' do
28
+ matrix.add_project(double(:project, dependency_matrix: {
29
+ 'a' => '1.0.1',
30
+ 'b' => '2.0.1',
31
+ 'c' => '3.0.1'
32
+ }))
33
+
34
+ matrix.add_project(double(:project, dependency_matrix: {
35
+ 'b' => '2.0.2',
36
+ 'c' => '3.0.2',
37
+ 'd' => '4.0.2'
38
+ }))
39
+
40
+ expect(matrix.gem_names).to eq(['a', 'b', 'c', 'd'])
41
+ end
42
+ end
43
+
44
+ describe '#gems_by_usage' do
45
+ before do
46
+ matrix.add_project(double(:project, dependency_matrix: {
47
+ 'a' => '1.0.1',
48
+ 'b' => '2.0.1',
49
+ 'c' => '3.0.1'
50
+ }))
51
+
52
+ matrix.add_project(double(:project, dependency_matrix: {
53
+ 'b' => '2.0.2',
54
+ 'c' => '3.0.2',
55
+ 'd' => '4.0.2'
56
+ }))
57
+ end
58
+
59
+ it 'returns an array' do
60
+ expect(matrix.gems_by_usage).to be_a(Hash)
61
+ end
62
+
63
+ it 'returns ordered ' do
64
+ expected_result = {
65
+ "b"=>2,
66
+ "c"=>2,
67
+ "a"=>1,
68
+ "d"=>1
69
+ }
70
+
71
+ expect(matrix.gems_by_usage).to eq(expected_result)
72
+ end
73
+ end
74
+
75
+ describe '#projects_sorted_by_name' do
76
+ let(:project_a) { double(:project, name: 'a') }
77
+ let(:project_b) { double(:project, name: 'b') }
78
+ let(:project_c) { double(:project, name: 'c') }
79
+
80
+ before do
81
+ matrix.add_project(project_b)
82
+ matrix.add_project(project_c)
83
+ matrix.add_project(project_a)
84
+ end
85
+
86
+ it 'sorted by name projects' do
87
+ expected_result = [project_a, project_b, project_c].map(&:name)
88
+
89
+ expect(matrix.projects_sorted_by_name.map(&:name)).to eq(expected_result)
90
+ end
91
+ end
92
+
93
+ describe '#sorted_by_most_used' do
94
+ before do
95
+ matrix.add_project(double(:project, name: 'foo', dependency_matrix: {
96
+ 'a' => '1.0.1',
97
+ 'b' => '2.0.1',
98
+ 'c' => '3.0.1'
99
+ }))
100
+
101
+ matrix.add_project(double(:project, name: 'bar', dependency_matrix: {
102
+ 'b' => '2.0.2',
103
+ 'c' => '3.0.2',
104
+ 'd' => '4.0.2'
105
+ }))
106
+ end
107
+
108
+ it 'returns matrix' do
109
+ expected_result = [
110
+ [ nil, 'bar', 'foo' ],
111
+ [ 'b', '2.0.2', '2.0.1' ],
112
+ [ 'c', '3.0.2', '3.0.1' ],
113
+ [ 'a', nil, '1.0.1' ],
114
+ [ 'd', '4.0.2', nil ]
115
+ ]
116
+
117
+ expect(matrix.sorted_by_most_used).to eq(expected_result)
118
+ end
119
+ end
120
+ end
@@ -0,0 +1,60 @@
1
+ require 'spec_helper'
2
+
3
+ describe BundlerDependencyMatrix::Project do
4
+ subject(:project) { described_class.new(project_path) }
5
+
6
+ let(:project_path) { 'spec/tmp/foo/' }
7
+ let(:lockfile_path) { File.join project_path, 'Gemfile.lock' }
8
+
9
+ before do
10
+ delete_tmp_folder
11
+
12
+ create_file lockfile_path, <<-FOO_GEMFILE
13
+ GEM
14
+ remote: https://rubygems.org/
15
+ specs:
16
+ diff-lcs (1.2.5)
17
+ rake (11.1.0)
18
+ rspec (3.0.0)
19
+ rspec-core (~> 3.0.0)
20
+ rspec-expectations (~> 3.0.0)
21
+ rspec-mocks (~> 3.0.0)
22
+ rspec-core (3.0.4)
23
+ rspec-support (~> 3.0.0)
24
+ rspec-expectations (3.0.4)
25
+ diff-lcs (>= 1.2.0, < 2.0)
26
+ rspec-support (~> 3.0.0)
27
+ rspec-mocks (3.0.4)
28
+ rspec-support (~> 3.0.0)
29
+ rspec-support (3.0.4)
30
+
31
+ PLATFORMS
32
+ ruby
33
+
34
+ DEPENDENCIES
35
+ rake (= 11.1.0)
36
+ rspec (= 3.0.0)
37
+
38
+ FOO_GEMFILE
39
+ end
40
+
41
+ describe '#dependency_matrix' do
42
+ it 'is a Hash' do
43
+ expect(subject.dependency_matrix).to be_a(Hash)
44
+ end
45
+
46
+ it 'returns dependencies' do
47
+ expected_result = {
48
+ 'diff-lcs' => '1.2.5',
49
+ 'rake' => '11.1.0',
50
+ 'rspec' => '3.0.0',
51
+ 'rspec-core' => '3.0.4',
52
+ 'rspec-expectations' => '3.0.4',
53
+ 'rspec-mocks' => '3.0.4',
54
+ 'rspec-support' => '3.0.4'
55
+ }
56
+
57
+ expect(subject.dependency_matrix).to eq(expected_result)
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,28 @@
1
+ require 'spec_helper'
2
+
3
+ describe BundlerDependencyMatrix::Views::Console do
4
+ subject(:console) { described_class.new(matrix.sorted_by_most_used) }
5
+ let(:matrix) do
6
+ double :matrix,
7
+ sorted_by_most_used: [[ nil, 'bar', 'foo' ],
8
+ [ 'b', '2.0.2', '2.0.1' ],
9
+ [ 'c', '3.0.2', '3.0.1' ],
10
+ [ 'a', nil, '1.0.1' ],
11
+ [ 'd', '4.0.2', nil ]]
12
+ end
13
+
14
+ describe '#render_as_string' do
15
+ it 'renders matrix' do
16
+ expected_result = <<-TABLE
17
+ x | bar | foo
18
+ ---+-------+-------
19
+ b | 2.0.2 | 2.0.1
20
+ c | 3.0.2 | 3.0.1
21
+ a | x | 1.0.1
22
+ d | 4.0.2 | x
23
+ TABLE
24
+
25
+ expect(console.render_as_string).to eq(expected_result)
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,77 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'bin/bundler_dependency_matrix' do
4
+ before do
5
+ delete_tmp_folder
6
+
7
+ create_file 'spec/tmp/foo/Gemfile.lock', <<-FOO_GEMFILE
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ diff-lcs (1.2.5)
12
+ rake (11.1.0)
13
+ rspec (3.0.0)
14
+ rspec-core (~> 3.0.0)
15
+ rspec-expectations (~> 3.0.0)
16
+ rspec-mocks (~> 3.0.0)
17
+ rspec-core (3.0.4)
18
+ rspec-support (~> 3.0.0)
19
+ rspec-expectations (3.0.4)
20
+ diff-lcs (>= 1.2.0, < 2.0)
21
+ rspec-support (~> 3.0.0)
22
+ rspec-mocks (3.0.4)
23
+ rspec-support (~> 3.0.0)
24
+ rspec-support (3.0.4)
25
+
26
+ PLATFORMS
27
+ ruby
28
+
29
+ DEPENDENCIES
30
+ rake (= 11.1.0)
31
+ rspec (= 3.0.0)
32
+
33
+ FOO_GEMFILE
34
+
35
+ create_file 'spec/tmp/bar/Gemfile.lock', <<-BAR_GEMFILE
36
+ GEM
37
+ remote: https://rubygems.org/
38
+ specs:
39
+ diff-lcs (1.2.5)
40
+ rake (10.0.0)
41
+ rspec (2.0.0)
42
+ rspec-core (= 2.0.0)
43
+ rspec-expectations (= 2.0.0)
44
+ rspec-mocks (= 2.0.0)
45
+ rspec-core (2.0.0)
46
+ rspec-expectations (2.0.0)
47
+ diff-lcs (>= 1.1.2)
48
+ rspec-mocks (2.0.0)
49
+ rspec-core (= 2.0.0)
50
+ rspec-expectations (= 2.0.0)
51
+
52
+ PLATFORMS
53
+ ruby
54
+
55
+ DEPENDENCIES
56
+ rake (= 10.0.0)
57
+ rspec (= 2.0.0)
58
+
59
+ BAR_GEMFILE
60
+ end
61
+
62
+ it 'returns bundler dependency matrix' do
63
+ expected_result = <<-TABLE
64
+ x | bar | foo
65
+ --------------------+--------+--------
66
+ diff-lcs | 1.2.5 | 1.2.5
67
+ rake | 10.0.0 | 11.1.0
68
+ rspec | 2.0.0 | 3.0.0
69
+ rspec-core | 2.0.0 | 3.0.4
70
+ rspec-expectations | 2.0.0 | 3.0.4
71
+ rspec-mocks | 2.0.0 | 3.0.4
72
+ rspec-support | x | 3.0.4
73
+ TABLE
74
+
75
+ expect(`#{PROJECT_ROOT}/bin/bundler_dependency_matrix #{PROJECT_ROOT}/spec/tmp`).to eq(expected_result)
76
+ end
77
+ end
@@ -0,0 +1,17 @@
1
+ require 'fileutils'
2
+ require 'bundler_dependency_matrix'
3
+ require 'bundler_dependency_matrix/project'
4
+ require 'bundler_dependency_matrix/matrix'
5
+ require 'bundler_dependency_matrix/views/console'
6
+
7
+ PROJECT_ROOT = File.expand_path('../..', __FILE__)
8
+
9
+ def create_file(path, content)
10
+ full_path = File.join(PROJECT_ROOT, path)
11
+ FileUtils.mkdir_p File.dirname(full_path)
12
+ File.write(full_path, content)
13
+ end
14
+
15
+ def delete_tmp_folder
16
+ FileUtils.rm_rf File.join(PROJECT_ROOT, '/spec/tmp')
17
+ end
metadata ADDED
@@ -0,0 +1,108 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: bundler_dependency_matrix
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Deyan Dobrinov
8
+ - Aleksandar Ivanov
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2016-03-28 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rspec
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '3.4'
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 3.4.0
24
+ type: :development
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - "~>"
29
+ - !ruby/object:Gem::Version
30
+ version: '3.4'
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 3.4.0
34
+ - !ruby/object:Gem::Dependency
35
+ name: bundler
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.11'
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 1.11.0
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - "~>"
49
+ - !ruby/object:Gem::Version
50
+ version: '1.11'
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 1.11.0
54
+ description: ''
55
+ email:
56
+ - deyan.dobrinov@gmail.com
57
+ - aivanov92@gmail.com
58
+ executables:
59
+ - bundler_dependency_matrix
60
+ extensions: []
61
+ extra_rdoc_files: []
62
+ files:
63
+ - ".gitignore"
64
+ - Gemfile
65
+ - Gemfile.lock
66
+ - README.md
67
+ - bin/bundler_dependency_matrix
68
+ - bundler_dependency_matrix.gemspec
69
+ - lib/bundler_dependency_matrix.rb
70
+ - lib/bundler_dependency_matrix/matrix.rb
71
+ - lib/bundler_dependency_matrix/project.rb
72
+ - lib/bundler_dependency_matrix/version.rb
73
+ - lib/bundler_dependency_matrix/views/console.rb
74
+ - spec/bundler_dependency_matrix/matrix_spec.rb
75
+ - spec/bundler_dependency_matrix/project_spec.rb
76
+ - spec/bundler_dependency_matrix/views/console_spec.rb
77
+ - spec/bundler_dependency_matrix_spec.rb
78
+ - spec/spec_helper.rb
79
+ homepage: http://github.com/dobrinov/bundler_dependency_matrix
80
+ licenses:
81
+ - MIT
82
+ metadata: {}
83
+ post_install_message:
84
+ rdoc_options: []
85
+ require_paths:
86
+ - lib
87
+ required_ruby_version: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: '0'
92
+ required_rubygems_version: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ requirements: []
98
+ rubyforge_project:
99
+ rubygems_version: 2.4.5
100
+ signing_key:
101
+ specification_version: 4
102
+ summary: Gem version dependecy matrix
103
+ test_files:
104
+ - spec/bundler_dependency_matrix/matrix_spec.rb
105
+ - spec/bundler_dependency_matrix/project_spec.rb
106
+ - spec/bundler_dependency_matrix/views/console_spec.rb
107
+ - spec/bundler_dependency_matrix_spec.rb
108
+ - spec/spec_helper.rb