hellgrid 0.0.1 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/bin/hellgrid +4 -2
- data/hellgrid.gemspec +8 -6
- data/lib/hellgrid/project.rb +6 -3
- data/lib/hellgrid/version.rb +1 -1
- data/spec/hellgrid/project_spec.rb +8 -1
- data/spec/hellgrid_spec.rb +21 -3
- metadata +3 -5
- data/.gitignore +0 -2
- data/circle.yml +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f81a55d2ae00696f507989aa1873596eb2f946eb
|
4
|
+
data.tar.gz: b6d73b4de893f29e65a8537830ab5294f83322ed
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 53f171f7e20fcb3909ab8bcb8a35038047f57e3cd6b2b49274c32708b77d8f1e7abb111909b850e370646ead98c46979ea5b9d395e3b4c96a5b7c673b38c081b
|
7
|
+
data.tar.gz: 03bfe0761f3def79ec00ee970b21afba21496698f2d03cfd5436216dd2684e23d3d5f6da895dcd6a26077466592ee4cd827e031fd6b538e497313cf54b425e6a
|
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Utility which will output a table containing gem versions used across your projects.
|
4
4
|
|
5
|
-

|
6
6
|
|
7
7
|
## Install
|
8
8
|
|
@@ -30,5 +30,5 @@ Should result in:
|
|
30
30
|
rspec-mocks | 2.0.0 | 3.0.4
|
31
31
|
rake | 10.0.0 | 11.1.0
|
32
32
|
rspec-support | x | 3.0.4
|
33
|
-
|
33
|
+
hellgrid | x | x
|
34
34
|
```
|
data/bin/hellgrid
CHANGED
@@ -9,12 +9,14 @@ require 'find'
|
|
9
9
|
|
10
10
|
require 'hellgrid'
|
11
11
|
|
12
|
-
ARGV.
|
12
|
+
folders = ARGV.empty? ? [Dir.pwd] : ARGV
|
13
|
+
|
14
|
+
folders.each do |folder|
|
13
15
|
matrix = Hellgrid::Matrix.new
|
14
16
|
|
15
17
|
Find.find(folder) do |path|
|
16
18
|
if File.directory?(path) && File.exists?(File.join(path, 'Gemfile.lock'))
|
17
|
-
matrix.add_project(Hellgrid::Project.new(path))
|
19
|
+
matrix.add_project(Hellgrid::Project.new(folder, path))
|
18
20
|
Find.prune
|
19
21
|
end
|
20
22
|
end
|
data/hellgrid.gemspec
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
-
|
1
|
+
project_root = File.dirname(__FILE__)
|
2
|
+
lib = File.join(project_root, 'lib')
|
3
|
+
|
2
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
5
|
require 'hellgrid/version'
|
4
6
|
|
@@ -6,15 +8,15 @@ Gem::Specification.new do |s|
|
|
6
8
|
s.name = 'hellgrid'
|
7
9
|
s.version = Hellgrid::VERSION
|
8
10
|
s.date = '2016-03-28'
|
9
|
-
s.summary = 'Gem version
|
11
|
+
s.summary = 'Gem version dependency matrix'
|
10
12
|
s.description = ''
|
11
13
|
s.authors = ['Deyan Dobrinov', 'Aleksandar Ivanov']
|
12
14
|
s.email = ['deyan.dobrinov@gmail.com', 'aivanov92@gmail.com']
|
13
|
-
s.files =
|
14
|
-
s.executables = s.files.grep(
|
15
|
-
s.test_files = s.files.grep(
|
15
|
+
s.files = Dir.chdir(project_root) { Dir['lib/**/*.rb'] + Dir['bin/*'] + Dir['spec/**/*.rb'] + %w(Gemfile Gemfile.lock README.md hellgrid.gemspec) }
|
16
|
+
s.executables = s.files.grep(/^bin\//) { |f| File.basename(f) }
|
17
|
+
s.test_files = s.files.grep(/^spec\//)
|
16
18
|
s.require_paths = ['lib']
|
17
|
-
s.homepage = '
|
19
|
+
s.homepage = 'https://github.com/FundingCircle/hellgrid'
|
18
20
|
s.license = 'MIT'
|
19
21
|
|
20
22
|
s.add_development_dependency 'rspec', '~> 3.4', '>= 3.4.0'
|
data/lib/hellgrid/project.rb
CHANGED
@@ -2,12 +2,13 @@ module Hellgrid
|
|
2
2
|
class Project
|
3
3
|
attr_reader :path
|
4
4
|
|
5
|
-
def initialize(path)
|
5
|
+
def initialize(root, path)
|
6
|
+
@root = root
|
6
7
|
@path = path
|
7
8
|
end
|
8
9
|
|
9
10
|
def name
|
10
|
-
File.
|
11
|
+
File.expand_path(path).gsub(File.expand_path(root) + '/', '')
|
11
12
|
end
|
12
13
|
|
13
14
|
def dependency_matrix
|
@@ -16,8 +17,10 @@ module Hellgrid
|
|
16
17
|
|
17
18
|
private
|
18
19
|
|
20
|
+
attr_reader :root
|
21
|
+
|
19
22
|
def lockfile
|
20
|
-
File.join(
|
23
|
+
File.join(path, 'Gemfile.lock')
|
21
24
|
end
|
22
25
|
|
23
26
|
def parsed_lockfile
|
data/lib/hellgrid/version.rb
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Hellgrid::Project do
|
4
|
-
subject(:project) { described_class.new(project_path) }
|
4
|
+
subject(:project) { described_class.new(root_path, project_path) }
|
5
5
|
|
6
|
+
let(:root_path) { 'spec' }
|
6
7
|
let(:project_path) { 'spec/tmp/foo/' }
|
7
8
|
let(:lockfile_path) { File.join project_path, 'Gemfile.lock' }
|
8
9
|
|
@@ -38,6 +39,12 @@ DEPENDENCIES
|
|
38
39
|
FOO_GEMFILE
|
39
40
|
end
|
40
41
|
|
42
|
+
describe '#name' do
|
43
|
+
it 'returns the relative path from the root' do
|
44
|
+
expect(subject.name).to eq('tmp/foo')
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
41
48
|
describe '#dependency_matrix' do
|
42
49
|
it 'is a Hash' do
|
43
50
|
expect(subject.dependency_matrix).to be_a(Hash)
|
data/spec/hellgrid_spec.rb
CHANGED
@@ -4,7 +4,7 @@ describe 'bin/hellgrid' do
|
|
4
4
|
before do
|
5
5
|
delete_tmp_folder
|
6
6
|
|
7
|
-
create_file 'spec/tmp/foo/Gemfile.lock', <<-FOO_GEMFILE
|
7
|
+
create_file 'spec/tmp/in/foo/Gemfile.lock', <<-FOO_GEMFILE
|
8
8
|
GEM
|
9
9
|
remote: https://rubygems.org/
|
10
10
|
specs:
|
@@ -61,7 +61,7 @@ BAR_GEMFILE
|
|
61
61
|
|
62
62
|
it 'returns a matrix with the versions of all used gems' do
|
63
63
|
expected_result = <<-TABLE
|
64
|
-
x | bar |
|
64
|
+
x | bar | in/foo
|
65
65
|
--------------------+--------+--------
|
66
66
|
diff-lcs | 1.2.5 | 1.2.5
|
67
67
|
rake | 10.0.0 | 11.1.0
|
@@ -77,7 +77,7 @@ TABLE
|
|
77
77
|
|
78
78
|
it 'could be run from random directory' do
|
79
79
|
expected_result = <<-TABLE
|
80
|
-
x | bar |
|
80
|
+
x | bar | in/foo
|
81
81
|
--------------------+--------+--------
|
82
82
|
diff-lcs | 1.2.5 | 1.2.5
|
83
83
|
rake | 10.0.0 | 11.1.0
|
@@ -92,4 +92,22 @@ TABLE
|
|
92
92
|
expect(`cd ~ && #{PROJECT_ROOT}/bin/hellgrid #{PROJECT_ROOT}/spec/tmp`).to eq(expected_result)
|
93
93
|
end
|
94
94
|
end
|
95
|
+
|
96
|
+
it 'uses the current working directory by default' do
|
97
|
+
expected_result = <<-TABLE
|
98
|
+
x | bar | in/foo
|
99
|
+
--------------------+--------+--------
|
100
|
+
diff-lcs | 1.2.5 | 1.2.5
|
101
|
+
rake | 10.0.0 | 11.1.0
|
102
|
+
rspec | 2.0.0 | 3.0.0
|
103
|
+
rspec-core | 2.0.0 | 3.0.4
|
104
|
+
rspec-expectations | 2.0.0 | 3.0.4
|
105
|
+
rspec-mocks | 2.0.0 | 3.0.4
|
106
|
+
rspec-support | x | 3.0.4
|
107
|
+
TABLE
|
108
|
+
|
109
|
+
Bundler.with_clean_env do
|
110
|
+
expect(`cd #{PROJECT_ROOT}/spec/tmp && #{PROJECT_ROOT}/bin/hellgrid`).to eq(expected_result)
|
111
|
+
end
|
112
|
+
end
|
95
113
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hellgrid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Deyan Dobrinov
|
@@ -60,12 +60,10 @@ executables:
|
|
60
60
|
extensions: []
|
61
61
|
extra_rdoc_files: []
|
62
62
|
files:
|
63
|
-
- ".gitignore"
|
64
63
|
- Gemfile
|
65
64
|
- Gemfile.lock
|
66
65
|
- README.md
|
67
66
|
- bin/hellgrid
|
68
|
-
- circle.yml
|
69
67
|
- hellgrid.gemspec
|
70
68
|
- lib/hellgrid.rb
|
71
69
|
- lib/hellgrid/matrix.rb
|
@@ -77,7 +75,7 @@ files:
|
|
77
75
|
- spec/hellgrid/views/console_spec.rb
|
78
76
|
- spec/hellgrid_spec.rb
|
79
77
|
- spec/spec_helper.rb
|
80
|
-
homepage:
|
78
|
+
homepage: https://github.com/FundingCircle/hellgrid
|
81
79
|
licenses:
|
82
80
|
- MIT
|
83
81
|
metadata: {}
|
@@ -100,7 +98,7 @@ rubyforge_project:
|
|
100
98
|
rubygems_version: 2.5.1
|
101
99
|
signing_key:
|
102
100
|
specification_version: 4
|
103
|
-
summary: Gem version
|
101
|
+
summary: Gem version dependency matrix
|
104
102
|
test_files:
|
105
103
|
- spec/hellgrid/matrix_spec.rb
|
106
104
|
- spec/hellgrid/project_spec.rb
|
data/.gitignore
DELETED