libyear-bundler 0.7.0 → 0.8.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/lib/libyear_bundler/models/gem.rb +16 -7
- data/lib/libyear_bundler/options.rb +4 -0
- data/lib/libyear_bundler/report.rb +17 -2
- data/lib/libyear_bundler/version.rb +1 -1
- data/libyear-bundler.gemspec +1 -1
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6e363af1df56aed65c6977f010e31514cc9e57e3b4270eacecff7005033554a3
|
4
|
+
data.tar.gz: 9293a7bc0a6708685577e28d85f43efeb15c3031f5432277be2fc593391a2d62
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4bed9a52de479d8a0479846cfa26beaf71b48c4df930a2e1bd86a021fabbb3b755e33148e6d2fcda14ab6297d304ade51331f38074d6e7a45ddab7f476ee0cb7
|
7
|
+
data.tar.gz: d190eb7367ccc794de8ba33ecf5794cb86b431a8b9227975d28c93f08f9930c1fd92e555e2280f720b9153647308a57694c2163a1599d43449b212e6ed56448c
|
@@ -23,23 +23,32 @@ module LibyearBundler
|
|
23
23
|
begin
|
24
24
|
dep = ::Bundler::Dependency.new(gem_name, gem_version)
|
25
25
|
rescue ::Gem::Requirement::BadRequirementError => e
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
)
|
26
|
+
report_problem(gem_name, <<-MSG)
|
27
|
+
Could not find release date for: #{gem_name}
|
28
|
+
#{e}
|
29
|
+
Maybe you used git in your Gemfile, which libyear doesn't support yet. Contributions welcome.
|
30
|
+
MSG
|
32
31
|
return nil
|
33
32
|
end
|
34
33
|
tuples, _errors = ::Gem::SpecFetcher.fetcher.search_for_dependency(dep)
|
35
34
|
if tuples.empty?
|
36
|
-
|
35
|
+
report_problem(gem_name, "Could not find release date for: #{gem_name}")
|
37
36
|
return nil
|
38
37
|
end
|
39
38
|
tup, source = tuples.first # Gem::NameTuple
|
40
39
|
spec = source.fetch_spec(tup) # raises Gem::RemoteFetcher::FetchError
|
41
40
|
spec.date.to_date
|
42
41
|
end
|
42
|
+
|
43
|
+
private
|
44
|
+
|
45
|
+
def report_problem(gem_name, message)
|
46
|
+
@reported_gems ||= {}
|
47
|
+
@reported_gems[gem_name] ||= begin
|
48
|
+
$stderr.puts(message)
|
49
|
+
true
|
50
|
+
end
|
51
|
+
end
|
43
52
|
end
|
44
53
|
|
45
54
|
def installed_version
|
@@ -52,6 +52,10 @@ https://github.com/jaredbeck/libyear-bundler/
|
|
52
52
|
opts.on('--grand-total', 'Return value for given metric(s)') do
|
53
53
|
@options.send('grand_total?=', true)
|
54
54
|
end
|
55
|
+
|
56
|
+
opts.on('--sort', 'Sort by selected metric(s), in descending order') do
|
57
|
+
@options.send('sort?=', true)
|
58
|
+
end
|
55
59
|
end
|
56
60
|
end
|
57
61
|
|
@@ -31,11 +31,12 @@ module LibyearBundler
|
|
31
31
|
def to_h
|
32
32
|
@_to_h ||=
|
33
33
|
begin
|
34
|
+
gems = sorted_gems(@gems)
|
34
35
|
summary = {
|
35
|
-
gems:
|
36
|
+
gems: gems,
|
36
37
|
sum_libyears: 0.0
|
37
38
|
}
|
38
|
-
|
39
|
+
gems.each { |gem| increment_metrics_summary(gem, summary) }
|
39
40
|
|
40
41
|
begin
|
41
42
|
increment_metrics_summary(@ruby, summary) if @ruby.outdated?
|
@@ -49,6 +50,20 @@ module LibyearBundler
|
|
49
50
|
|
50
51
|
private
|
51
52
|
|
53
|
+
def sorted_gems(gems)
|
54
|
+
if @options.sort?
|
55
|
+
gems.sort_by do |gem|
|
56
|
+
[
|
57
|
+
(gem.libyears if @options.libyears?),
|
58
|
+
(gem.version_sequence_delta if @options.releases?),
|
59
|
+
(gem.version_number_delta if @options.versions?)
|
60
|
+
].compact
|
61
|
+
end.reverse
|
62
|
+
else
|
63
|
+
gems
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
52
67
|
def increment_metrics_summary(model, summary)
|
53
68
|
increment_libyears(model, summary) if @options.libyears?
|
54
69
|
increment_version_deltas(model, summary) if @options.versions?
|
data/libyear-bundler.gemspec
CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
|
|
11
11
|
spec.email = ["jared@jaredbeck.com"]
|
12
12
|
spec.summary = "A simple measure of dependency freshness"
|
13
13
|
spec.homepage = "https://libyear.com"
|
14
|
-
spec.licenses = ["GPL-3.0"]
|
14
|
+
spec.licenses = ["GPL-3.0-only"]
|
15
15
|
spec.files = `git ls-files -z`.split("\x0").select do |f|
|
16
16
|
f.start_with?('lib/') ||
|
17
17
|
[
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: libyear-bundler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jared Beck
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-09-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -30,7 +30,7 @@ dependencies:
|
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '3'
|
33
|
-
description:
|
33
|
+
description:
|
34
34
|
email:
|
35
35
|
- jared@jaredbeck.com
|
36
36
|
executables:
|
@@ -56,9 +56,9 @@ files:
|
|
56
56
|
- libyear-bundler.gemspec
|
57
57
|
homepage: https://libyear.com
|
58
58
|
licenses:
|
59
|
-
- GPL-3.0
|
59
|
+
- GPL-3.0-only
|
60
60
|
metadata: {}
|
61
|
-
post_install_message:
|
61
|
+
post_install_message:
|
62
62
|
rdoc_options: []
|
63
63
|
require_paths:
|
64
64
|
- lib
|
@@ -73,8 +73,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '0'
|
75
75
|
requirements: []
|
76
|
-
rubygems_version: 3.
|
77
|
-
signing_key:
|
76
|
+
rubygems_version: 3.5.16
|
77
|
+
signing_key:
|
78
78
|
specification_version: 4
|
79
79
|
summary: A simple measure of dependency freshness
|
80
80
|
test_files: []
|