hellgrid 0.3.0 → 0.3.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 8cf6eaeb8266e3defb76dfd2356cf8afc48fe022
4
- data.tar.gz: 534f6360775cfaa91cc640d22944cc2d0373e2a6
2
+ SHA256:
3
+ metadata.gz: 5065d2ad293d7b72ae198d3a4ab7af155b404b23cd85512ff85e50fd289d8ce5
4
+ data.tar.gz: a0e75613e9456775b4e864060bb0a7050f9ecc4e1f36a5f9130a9fd9e204322c
5
5
  SHA512:
6
- metadata.gz: 72f0cecdd42d996e20732e97dbb8bbda9e77b4a888330561f55417f934298d711134f85660bcba61c0732d308666666aa24623bd092b53d807acde9e304cb727
7
- data.tar.gz: d54c079d37e6c9eff6b1536a7a059e9fcd07a57fe348c6d063f163a7f12e14b6a62cd67f48f77c9b278c74634ef2aff921473c8908bf4f8f0f91b027655f3b6d
6
+ metadata.gz: a48874b5df424ed602fdda5a602d3745fc703c64c260fb3ef1117e2cb0958a4600e526b79c459c82ac6579b89846a27a8d04883f6d09f9477a5133b69914017e
7
+ data.tar.gz: e9445c22f028d94cdd31b8a16715eba9eea35b8983f59f8ca2f482d211d1b2fac059e631939319a2b3275225e8c12caf372026cb4da26dd2650660826491b6b1
data/Gemfile.lock CHANGED
@@ -1,33 +1,41 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- hellgrid (0.3.0)
4
+ hellgrid (0.3.5)
5
+ bundler (>= 1.11.0, < 3)
5
6
 
6
7
  GEM
7
8
  remote: https://rubygems.org/
8
9
  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)
10
+ diff-lcs (1.4.4)
11
+ docile (1.3.5)
12
+ json (2.5.1)
13
+ rspec (3.8.0)
14
+ rspec-core (~> 3.8.0)
15
+ rspec-expectations (~> 3.8.0)
16
+ rspec-mocks (~> 3.8.0)
17
+ rspec-core (3.8.2)
18
+ rspec-support (~> 3.8.0)
19
+ rspec-expectations (3.8.6)
17
20
  diff-lcs (>= 1.2.0, < 2.0)
18
- rspec-support (~> 3.4.0)
19
- rspec-mocks (3.4.1)
21
+ rspec-support (~> 3.8.0)
22
+ rspec-mocks (3.8.2)
20
23
  diff-lcs (>= 1.2.0, < 2.0)
21
- rspec-support (~> 3.4.0)
22
- rspec-support (3.4.1)
24
+ rspec-support (~> 3.8.0)
25
+ rspec-support (3.8.3)
26
+ simplecov (0.16.1)
27
+ docile (~> 1.1)
28
+ json (>= 1.8, < 3)
29
+ simplecov-html (~> 0.10.0)
30
+ simplecov-html (0.10.2)
23
31
 
24
32
  PLATFORMS
25
33
  ruby
26
34
 
27
35
  DEPENDENCIES
28
- bundler (~> 1.11, >= 1.11.0)
29
36
  hellgrid!
30
- rspec (~> 3.4, >= 3.4.0)
37
+ rspec (~> 3.8.0)
38
+ simplecov (~> 0.16.0)
31
39
 
32
40
  BUNDLED WITH
33
- 1.13.6
41
+ 1.17.3
data/README.md CHANGED
@@ -2,7 +2,8 @@
2
2
 
3
3
  Utility which will output a table containing gem versions used across your projects.
4
4
 
5
- ![Build Status](https://circleci.com/gh/FundingCircle/hellgrid.svg?style=shield&circle-token=:circle-token)
5
+ [![Build Status`](https://circleci.com/gh/FundingCircle/hellgrid.svg?style=svg)](https://circleci.com/gh/FundingCircle/hellgrid)
6
+ [![Maintainability](https://api.codeclimate.com/v1/badges/13deecf7ca1f69197cbe/maintainability)](https://codeclimate.com/github/FundingCircle/hellgrid/maintainability)
6
7
 
7
8
  ## Install
8
9
 
data/bin/hellgrid CHANGED
@@ -1,28 +1,13 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'pathname'
4
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', Pathname.new(__FILE__).realpath)
4
+ # XXX: BUNDLE_GEMFILE should be provided because the internals of bundler require a 'Gemfile' or '.bundle' to
5
+ # work properly. Without this the script will fail if there isn't a Gemfile somewhere up the directory chain
6
+ ENV['BUNDLE_GEMFILE'] ||= File.join(File.expand_path('../..', Pathname.new(__FILE__).realpath), 'Gemfile')
5
7
 
6
8
  require 'rubygems'
7
9
  require 'bundler/setup'
8
- require 'find'
9
10
 
10
11
  require 'hellgrid'
11
12
 
12
- recursive_search = !!(ARGV.delete('-r'))
13
- folders = ARGV.empty? ? [Dir.pwd] : ARGV
14
-
15
- folders.each do |folder|
16
- matrix = Hellgrid::Matrix.new
17
-
18
- Find.find(folder) do |path|
19
- if File.directory?(path) && File.exists?(File.join(path, 'Gemfile.lock'))
20
- matrix.add_project(Hellgrid::Project.new(folder, path))
21
- Find.prune unless recursive_search
22
- end
23
- end
24
-
25
- view = Hellgrid::Views::Console.new(matrix.sorted_by_most_used)
26
-
27
- view.render
28
- end
13
+ Hellgrid::CLI.start
data/exe/hellgrid ADDED
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'pathname'
4
+ # XXX: BUNDLE_GEMFILE should be provided because the internals of bundler require a 'Gemfile' or '.bundle' to
5
+ # work properly. Without this the script will fail if there isn't a Gemfile somewhere up the directory chain
6
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', Pathname.new(__FILE__).realpath)
7
+
8
+ require 'hellgrid'
9
+
10
+ Hellgrid::CLI.start
data/hellgrid.gemspec CHANGED
@@ -7,17 +7,20 @@ require 'hellgrid/version'
7
7
  Gem::Specification.new do |s|
8
8
  s.name = 'hellgrid'
9
9
  s.version = Hellgrid::VERSION
10
- s.date = '2016-09-20'
11
10
  s.summary = 'Gem version dependency matrix'
11
+ s.description = 'Display gem versions used across your projects in a table'
12
12
  s.authors = ['Deyan Dobrinov', 'Aleksandar Ivanov']
13
13
  s.email = ['engineering+hellgrid@fundingcircle.com']
14
- s.files = Dir.chdir(project_root) { Dir['lib/**/*.rb'] + Dir['bin/*'] + Dir['spec/**/*.rb'] + %w(Gemfile Gemfile.lock README.md hellgrid.gemspec) }
15
- s.executables = s.files.grep(/^bin\//) { |f| File.basename(f) }
14
+ s.files = Dir.chdir(project_root) { Dir['lib/**/*.rb'] + Dir['bin/*'] + Dir['exe/*'] + Dir['spec/**/*.rb'] + %w(Gemfile Gemfile.lock README.md hellgrid.gemspec) }
15
+ s.bindir = 'exe'
16
+ s.executables = s.files.grep(/^exe\//) { |f| File.basename(f) }
16
17
  s.test_files = s.files.grep(/^spec\//)
17
18
  s.require_paths = ['lib']
18
19
  s.homepage = 'https://github.com/FundingCircle/hellgrid'
19
20
  s.license = 'BSD-3-Clause'
20
21
 
21
- s.add_development_dependency 'rspec', '~> 3.4', '>= 3.4.0'
22
- s.add_development_dependency 'bundler', '~> 1.11', '>= 1.11.0'
22
+ s.add_runtime_dependency 'bundler', '>= 1.11.0', '< 3'
23
+
24
+ s.add_development_dependency 'rspec', '~> 3.8.0'
25
+ s.add_development_dependency 'simplecov', '~> 0.16.0'
23
26
  end
data/lib/hellgrid.rb CHANGED
@@ -1,6 +1,9 @@
1
+ require 'bundler'
2
+ require 'find'
1
3
  require 'hellgrid/project'
2
4
  require 'hellgrid/matrix'
3
5
  require 'hellgrid/views/console'
6
+ require 'hellgrid/cli'
4
7
 
5
8
  module Hellgrid
6
9
  end
@@ -0,0 +1,33 @@
1
+ module Hellgrid
2
+ class CLI
3
+ def self.start(argv = ARGV)
4
+ new(argv).start
5
+ end
6
+
7
+ def initialize(argv = ARGV)
8
+ @argv = argv
9
+ end
10
+
11
+ attr_reader :argv
12
+
13
+ def start
14
+ recursive_search = !!(argv.delete('-r'))
15
+ folders = argv.empty? ? [Dir.pwd] : argv
16
+
17
+ folders.each do |folder|
18
+ matrix = Hellgrid::Matrix.new
19
+
20
+ Find.find(folder) do |path|
21
+ if File.directory?(path) && File.exists?(File.join(path, 'Gemfile.lock'))
22
+ matrix.add_project(Hellgrid::Project.new(folder, path))
23
+ Find.prune unless recursive_search
24
+ end
25
+ end
26
+
27
+ view = Hellgrid::Views::Console.new(matrix.sorted_by_most_used)
28
+
29
+ view.render
30
+ end
31
+ end
32
+ end
33
+ end
@@ -1,3 +1,3 @@
1
1
  module Hellgrid
2
- VERSION = '0.3.0'
2
+ VERSION = '0.3.5'
3
3
  end
@@ -1,6 +1,14 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe 'bin/hellgrid' do
4
+ def with_unbundled_env(&block)
5
+ if Bundler.respond_to?(:with_unbundled_env)
6
+ Bundler.with_unbundled_env(&block)
7
+ else
8
+ Bundler.with_clean_env(&block)
9
+ end
10
+ end
11
+
4
12
  before do
5
13
  delete_tmp_folder
6
14
 
@@ -88,7 +96,7 @@ TABLE
88
96
  rspec-support | x | 3.0.4
89
97
  TABLE
90
98
 
91
- Bundler.with_clean_env do
99
+ with_unbundled_env do
92
100
  expect(`cd ~ && #{PROJECT_ROOT}/bin/hellgrid #{PROJECT_ROOT}/spec/tmp`).to eq(expected_result)
93
101
  end
94
102
  end
@@ -106,23 +114,19 @@ TABLE
106
114
  rspec-support | x | 3.0.4
107
115
  TABLE
108
116
 
109
- Bundler.with_clean_env do
117
+ with_unbundled_env do
110
118
  expect(`cd #{PROJECT_ROOT}/spec/tmp && #{PROJECT_ROOT}/bin/hellgrid`).to eq(expected_result)
111
119
  end
112
120
  end
113
121
 
114
122
  context 'when passing -r' do
115
123
  it 'searches recursively within folders if you flag it to' do
116
- Bundler.with_clean_env do
117
- expect(`cd #{PROJECT_ROOT} && #{PROJECT_ROOT}/bin/hellgrid -r`).to(
124
+ with_unbundled_env do
125
+ expect(`cd #{PROJECT_ROOT} && #{PROJECT_ROOT}/bin/hellgrid -r`.lines.first).to(
118
126
  include(
119
127
  'hellgrid',
120
128
  'spec/tmp/bar',
121
129
  'spec/tmp/in/foo',
122
- 'rspec',
123
- '3.4.0',
124
- '2.0.0',
125
- '3.0.0'
126
130
  )
127
131
  )
128
132
  end
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,6 @@
1
+ require 'simplecov'
2
+ SimpleCov.start
3
+
1
4
  require 'fileutils'
2
5
  require 'hellgrid'
3
6
  require 'hellgrid/project'
metadata CHANGED
@@ -1,57 +1,65 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hellgrid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Deyan Dobrinov
8
8
  - Aleksandar Ivanov
9
- autorequire:
10
- bindir: bin
9
+ autorequire:
10
+ bindir: exe
11
11
  cert_chain: []
12
- date: 2016-09-20 00:00:00.000000000 Z
12
+ date: 2021-02-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: rspec
15
+ name: bundler
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - "~>"
18
+ - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: '3.4'
20
+ version: 1.11.0
21
+ - - "<"
22
+ - !ruby/object:Gem::Version
23
+ version: '3'
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
21
28
  - - ">="
22
29
  - !ruby/object:Gem::Version
23
- version: 3.4.0
30
+ version: 1.11.0
31
+ - - "<"
32
+ - !ruby/object:Gem::Version
33
+ version: '3'
34
+ - !ruby/object:Gem::Dependency
35
+ name: rspec
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 3.8.0
24
41
  type: :development
25
42
  prerelease: false
26
43
  version_requirements: !ruby/object:Gem::Requirement
27
44
  requirements:
28
45
  - - "~>"
29
46
  - !ruby/object:Gem::Version
30
- version: '3.4'
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: 3.4.0
47
+ version: 3.8.0
34
48
  - !ruby/object:Gem::Dependency
35
- name: bundler
49
+ name: simplecov
36
50
  requirement: !ruby/object:Gem::Requirement
37
51
  requirements:
38
52
  - - "~>"
39
53
  - !ruby/object:Gem::Version
40
- version: '1.11'
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- version: 1.11.0
54
+ version: 0.16.0
44
55
  type: :development
45
56
  prerelease: false
46
57
  version_requirements: !ruby/object:Gem::Requirement
47
58
  requirements:
48
59
  - - "~>"
49
60
  - !ruby/object:Gem::Version
50
- version: '1.11'
51
- - - ">="
52
- - !ruby/object:Gem::Version
53
- version: 1.11.0
54
- description:
61
+ version: 0.16.0
62
+ description: Display gem versions used across your projects in a table
55
63
  email:
56
64
  - engineering+hellgrid@fundingcircle.com
57
65
  executables:
@@ -63,8 +71,10 @@ files:
63
71
  - Gemfile.lock
64
72
  - README.md
65
73
  - bin/hellgrid
74
+ - exe/hellgrid
66
75
  - hellgrid.gemspec
67
76
  - lib/hellgrid.rb
77
+ - lib/hellgrid/cli.rb
68
78
  - lib/hellgrid/matrix.rb
69
79
  - lib/hellgrid/project.rb
70
80
  - lib/hellgrid/version.rb
@@ -78,7 +88,7 @@ homepage: https://github.com/FundingCircle/hellgrid
78
88
  licenses:
79
89
  - BSD-3-Clause
80
90
  metadata: {}
81
- post_install_message:
91
+ post_install_message:
82
92
  rdoc_options: []
83
93
  require_paths:
84
94
  - lib
@@ -93,9 +103,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
93
103
  - !ruby/object:Gem::Version
94
104
  version: '0'
95
105
  requirements: []
96
- rubyforge_project:
97
- rubygems_version: 2.5.1
98
- signing_key:
106
+ rubygems_version: 3.0.3
107
+ signing_key:
99
108
  specification_version: 4
100
109
  summary: Gem version dependency matrix
101
110
  test_files:
@@ -104,4 +113,3 @@ test_files:
104
113
  - spec/hellgrid/views/console_spec.rb
105
114
  - spec/hellgrid_spec.rb
106
115
  - spec/spec_helper.rb
107
- has_rdoc: