libyear-bundler 0.6.0 → 0.6.1
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
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e9b6ae5fa040a91add039ed6d36fd2a6f3084a42efe9adfa1207fdad342ae6b9
|
4
|
+
data.tar.gz: dc93d875dcf16eb18c20bb09bbc8ed38efb1866b49d3b6fe3b721be3d78f009a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ef8e98ac272c82f87634523708d44d0e805d571909c4e68b57be3e760780b13b345b6d1fbe09222dc41aedebcfd47105e6cea4baae13555b693a9ba0ec90a3fb
|
7
|
+
data.tar.gz: b06125191e905323a3d43098306899be8e48f7dff79df11b62f8a1d9865311ce6d8048c50706316543b8eb3fcb3b925d55d6ba9e7170019cd0a4894d4fb9af45
|
@@ -7,6 +7,7 @@ require 'yaml'
|
|
7
7
|
require 'libyear_bundler/calculators/libyear'
|
8
8
|
require 'libyear_bundler/calculators/version_number_delta'
|
9
9
|
require 'libyear_bundler/calculators/version_sequence_delta'
|
10
|
+
require 'libyear_bundler/yaml_loader'
|
10
11
|
|
11
12
|
module LibyearBundler
|
12
13
|
module Models
|
@@ -78,13 +79,19 @@ module LibyearBundler
|
|
78
79
|
def all_versions
|
79
80
|
@_all_versions ||= begin
|
80
81
|
uri = ::URI.parse(RUBY_VERSION_DATA_URL)
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
::
|
86
|
-
.safe_load(response.body
|
87
|
-
|
82
|
+
opt = { open_timeout: 3, read_timeout: 5, use_ssl: true }
|
83
|
+
response = ::Net::HTTP.start(uri.hostname, uri.port, opt) do |con|
|
84
|
+
con.request_get(uri.path)
|
85
|
+
end
|
86
|
+
if response.is_a?(::Net::HTTPSuccess)
|
87
|
+
YAMLLoader.safe_load(response.body).map { |release| release['version'] }
|
88
|
+
else
|
89
|
+
warn format('Unable to get Ruby version list: response code: %s', response.code)
|
90
|
+
[]
|
91
|
+
end
|
92
|
+
rescue ::Timeout::Error
|
93
|
+
warn 'Unable to get Ruby version list: network timeout'
|
94
|
+
[]
|
88
95
|
end
|
89
96
|
end
|
90
97
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'yaml'
|
2
|
+
require 'libyear_bundler/yaml_loader'
|
2
3
|
|
3
4
|
module LibyearBundler
|
4
5
|
# A cache of release dates by name and version, for both gems and rubies.
|
@@ -18,10 +19,18 @@ module LibyearBundler
|
|
18
19
|
end
|
19
20
|
end
|
20
21
|
|
22
|
+
def empty?
|
23
|
+
@data.empty?
|
24
|
+
end
|
25
|
+
|
26
|
+
def size
|
27
|
+
@data.size
|
28
|
+
end
|
29
|
+
|
21
30
|
class << self
|
22
31
|
def load(path)
|
23
32
|
if File.exist?(path)
|
24
|
-
new(
|
33
|
+
new(YAMLLoader.safe_load(File.read(path)))
|
25
34
|
else
|
26
35
|
new({})
|
27
36
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'yaml'
|
4
|
+
|
5
|
+
module LibyearBundler
|
6
|
+
# Supports different versions of the `YAML` constant. For example,
|
7
|
+
#
|
8
|
+
# > psych 3.0.3 YAML#safe_load expected the permitted/whitelisted classes in
|
9
|
+
# > the second parameter.
|
10
|
+
# >
|
11
|
+
# > psych 3.1.0 YAML#safe_load introduced keyword argument permitted_classes
|
12
|
+
# > in addition to permitted/whitelisted classes in the second parameter.
|
13
|
+
# >
|
14
|
+
# > psych 4.0.0 dropped the second positional parameter of YAML#safe_load, and
|
15
|
+
# > expects the permitted/whitelisted classes only in keyword parameter
|
16
|
+
# > permitted_classes.
|
17
|
+
# > https://github.com/jaredbeck/libyear-bundler/issues/22
|
18
|
+
#
|
19
|
+
# I expect this will only get more complicated over the years, as we try to
|
20
|
+
# support old rubies for as long as possible.
|
21
|
+
#
|
22
|
+
# Other known issues:
|
23
|
+
#
|
24
|
+
# - https://github.com/ruby/psych/issues/262
|
25
|
+
module YAMLLoader
|
26
|
+
class << self
|
27
|
+
def safe_load(yaml, permitted_classes: [::Date])
|
28
|
+
if YAML.method(:safe_load).parameters.include?([:key, :permitted_classes])
|
29
|
+
YAML.safe_load(yaml, permitted_classes: permitted_classes)
|
30
|
+
else
|
31
|
+
YAML.safe_load(yaml, permitted_classes)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
data/libyear-bundler.gemspec
CHANGED
@@ -33,9 +33,6 @@ Gem::Specification.new do |spec|
|
|
33
33
|
# above.
|
34
34
|
spec.add_dependency "bundler", ">= 1.14", "< 3"
|
35
35
|
|
36
|
-
|
37
|
-
|
38
|
-
# rubocop 0.57 drops support for ruby 2.1, so 0.56 is the highest we can
|
39
|
-
# use. We're going to support ruby 2.1 as long as possible. See above.
|
40
|
-
spec.add_development_dependency "rubocop", "~> 0.56.0"
|
36
|
+
# Development dependencies are specified in `/gemfiles`. See CONTRIBUTING.md
|
37
|
+
# for details.
|
41
38
|
end
|
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.6.
|
4
|
+
version: 0.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jared Beck
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-05-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -30,34 +30,6 @@ dependencies:
|
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '3'
|
33
|
-
- !ruby/object:Gem::Dependency
|
34
|
-
name: rspec
|
35
|
-
requirement: !ruby/object:Gem::Requirement
|
36
|
-
requirements:
|
37
|
-
- - "~>"
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
version: '3.9'
|
40
|
-
type: :development
|
41
|
-
prerelease: false
|
42
|
-
version_requirements: !ruby/object:Gem::Requirement
|
43
|
-
requirements:
|
44
|
-
- - "~>"
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: '3.9'
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
name: rubocop
|
49
|
-
requirement: !ruby/object:Gem::Requirement
|
50
|
-
requirements:
|
51
|
-
- - "~>"
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: 0.56.0
|
54
|
-
type: :development
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
requirements:
|
58
|
-
- - "~>"
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
version: 0.56.0
|
61
33
|
description:
|
62
34
|
email:
|
63
35
|
- jared@jaredbeck.com
|
@@ -80,6 +52,7 @@ files:
|
|
80
52
|
- lib/libyear_bundler/release_date_cache.rb
|
81
53
|
- lib/libyear_bundler/report.rb
|
82
54
|
- lib/libyear_bundler/version.rb
|
55
|
+
- lib/libyear_bundler/yaml_loader.rb
|
83
56
|
- libyear-bundler.gemspec
|
84
57
|
homepage: https://libyear.com
|
85
58
|
licenses:
|
@@ -100,8 +73,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
100
73
|
- !ruby/object:Gem::Version
|
101
74
|
version: '0'
|
102
75
|
requirements: []
|
103
|
-
|
104
|
-
rubygems_version: 2.7.6.3
|
76
|
+
rubygems_version: 3.2.20
|
105
77
|
signing_key:
|
106
78
|
specification_version: 4
|
107
79
|
summary: A simple measure of dependency freshness
|