gem-orphaned 0.4
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 +7 -0
- data/.gitignore +2 -0
- data/Rakefile +2 -0
- data/gem-orphaned.gemspec +22 -0
- data/lib/gem-orphaned/orphaned_command.rb +69 -0
- data/lib/gem-orphaned/version.rb +5 -0
- data/lib/rubygems_plugin.rb +8 -0
- metadata +77 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 483e6a07e953233a2271c0ef1c6742c778f53d80aa43bd857c3ad9d0679ab12d
|
4
|
+
data.tar.gz: b8cf5816de0f017727efcc4bbc2dd7c703fb428a8236f581b8beb4f7d8f51fa3
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: bb09b64986cbea962a5f7e67e249ff5bf12340741efa62431cefa7ca1ff1a72a4799d9a71c859782c9de1a3ca8cd351bb0f90e1fc62e133c6c2e979cded3d025
|
7
|
+
data.tar.gz: ccb36f1ae3535de427b5c12c5a60b68ec830ad6c0242d0cb00a3c7377842def47a55849692db3953941d9cd39763a19ec46bf77b74cd6e5057b4a2ea5c7e1ee4
|
data/.gitignore
ADDED
data/Rakefile
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
#encoding: utf-8
|
2
|
+
|
3
|
+
require 'rubygems/command'
|
4
|
+
require_relative 'lib/gem-orphaned/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = 'gem-orphaned'
|
8
|
+
s.version = Gem::Commands::OrphanedCommand::VERSION
|
9
|
+
s.summary = %q{Show orphaned gems}
|
10
|
+
s.description = %q{A Ruby gem which shows orphaned gems.}
|
11
|
+
s.author = 'John Labovitz'
|
12
|
+
s.email = 'johnl@johnlabovitz.com'
|
13
|
+
s.homepage = 'https://github.com/jslabovitz/gem-orphaned.git'
|
14
|
+
s.license = 'MIT'
|
15
|
+
s.files = `git ls-files`.split($/)
|
16
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
17
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
|
18
|
+
s.require_path = 'lib'
|
19
|
+
|
20
|
+
s.add_development_dependency 'rake', '~> 12.3'
|
21
|
+
s.add_development_dependency 'rubygems-tasks', '~> 0.2'
|
22
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
require 'set'
|
2
|
+
|
3
|
+
class Gem::Commands::OrphanedCommand < Gem::Command
|
4
|
+
|
5
|
+
PreferredGemsFile = File.expand_path('~/.preferred_gems')
|
6
|
+
DefaultPreferredGems = %w{
|
7
|
+
bundler
|
8
|
+
gem-orphaned
|
9
|
+
rubygems-update
|
10
|
+
}
|
11
|
+
|
12
|
+
def initialize
|
13
|
+
super 'orphaned', 'Show orphaned gems'
|
14
|
+
end
|
15
|
+
|
16
|
+
def execute
|
17
|
+
read_gems
|
18
|
+
read_preferred_gems
|
19
|
+
check_preferred_gems
|
20
|
+
show_orphaned_gems
|
21
|
+
end
|
22
|
+
|
23
|
+
def read_gems
|
24
|
+
@gems = {}
|
25
|
+
Gem::Specification.each do |spec|
|
26
|
+
@gems[spec.name] ||= []
|
27
|
+
@gems[spec.name] << spec
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def read_preferred_gems
|
32
|
+
@preferred_gems = DefaultPreferredGems
|
33
|
+
@preferred_gems += default_gems
|
34
|
+
if File.exist?(PreferredGemsFile)
|
35
|
+
data = File.read(PreferredGemsFile)
|
36
|
+
lines = data.split("\n").map { |s| s.sub(/#.*/, '').strip }.reject(&:empty?)
|
37
|
+
@preferred_gems += lines
|
38
|
+
end
|
39
|
+
@preferred_gems.uniq!
|
40
|
+
end
|
41
|
+
|
42
|
+
def check_preferred_gems
|
43
|
+
@preferred_gems.each do |name|
|
44
|
+
unless @gems[name]
|
45
|
+
puts "#{name}: in preferred list but not installed"
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def show_orphaned_gems
|
51
|
+
orphaned_gems.each do |spec|
|
52
|
+
puts "#{spec.name} (#{spec.version}): orphaned"
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def default_gems
|
57
|
+
@gems.select do |name, specs|
|
58
|
+
specs.find(&:default_gem?)
|
59
|
+
end.keys
|
60
|
+
end
|
61
|
+
|
62
|
+
def orphaned_gems
|
63
|
+
names = @gems.keys - @preferred_gems
|
64
|
+
@gems.values_at(*names).map do |specs|
|
65
|
+
specs.select { |s| s.dependent_gems.empty? }
|
66
|
+
end.flatten
|
67
|
+
end
|
68
|
+
|
69
|
+
end
|
metadata
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: gem-orphaned
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: '0.4'
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- John Labovitz
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2018-03-22 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rake
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '12.3'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '12.3'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rubygems-tasks
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0.2'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.2'
|
41
|
+
description: A Ruby gem which shows orphaned gems.
|
42
|
+
email: johnl@johnlabovitz.com
|
43
|
+
executables: []
|
44
|
+
extensions: []
|
45
|
+
extra_rdoc_files: []
|
46
|
+
files:
|
47
|
+
- ".gitignore"
|
48
|
+
- Rakefile
|
49
|
+
- gem-orphaned.gemspec
|
50
|
+
- lib/gem-orphaned/orphaned_command.rb
|
51
|
+
- lib/gem-orphaned/version.rb
|
52
|
+
- lib/rubygems_plugin.rb
|
53
|
+
homepage: https://github.com/jslabovitz/gem-orphaned.git
|
54
|
+
licenses:
|
55
|
+
- MIT
|
56
|
+
metadata: {}
|
57
|
+
post_install_message:
|
58
|
+
rdoc_options: []
|
59
|
+
require_paths:
|
60
|
+
- lib
|
61
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
62
|
+
requirements:
|
63
|
+
- - ">="
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
66
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - ">="
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '0'
|
71
|
+
requirements: []
|
72
|
+
rubyforge_project:
|
73
|
+
rubygems_version: 2.7.6
|
74
|
+
signing_key:
|
75
|
+
specification_version: 4
|
76
|
+
summary: Show orphaned gems
|
77
|
+
test_files: []
|