latest_ruby 1.0.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitignore +2 -0
- data/CHANGELOG.md +5 -0
- data/Gemfile +8 -0
- data/VERSION +1 -1
- data/lib/latest_ruby.rb +5 -1
- data/test/test_latest_ruby.rb +70 -0
- data/test/vcr/2_6_only_preview_and_rc.yml +87 -0
- data/test/vcr/latest.yml +91 -0
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: dd40ee3d84fd06fc75da25dec91ec8879728466717b20f1084f580bd2512cc00
|
4
|
+
data.tar.gz: 6de6478f1ae09672c30eaa66726dccff01a16bdb01fff0aa7a16f2198fbd4919
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9b2c35c01bcea64f89ffd1204382a2fa8992faf3cd52db9470d9f4672ad40259d3a8c15fc6aff242bbbc588f7564f99955ab38c13d4a8f36edd021051151acb5
|
7
|
+
data.tar.gz: 6a52c2c064244ce33fca844176f14e725bc9800ba42d04d8fbbcb6ba1e28eb70d56ba8708c187477af6d8c81c13316596b4a1852de013692b81b2a25b7d9817c
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
2.0.0
|
data/lib/latest_ruby.rb
CHANGED
@@ -21,6 +21,10 @@ module Latest
|
|
21
21
|
File.read(VERSION_FILE).chomp : '(could not find VERSION file)'
|
22
22
|
|
23
23
|
class << self
|
24
|
+
def ruby27
|
25
|
+
Ruby.new(MRI.new('2.7', MRIRetriever.new))
|
26
|
+
end
|
27
|
+
|
24
28
|
def ruby26
|
25
29
|
Ruby.new(MRI.new('2.6', MRIRetriever.new))
|
26
30
|
end
|
@@ -30,7 +34,7 @@ module Latest
|
|
30
34
|
end
|
31
35
|
|
32
36
|
# The latest Ruby version by default.
|
33
|
-
alias_method :ruby, :
|
37
|
+
alias_method :ruby, :ruby27
|
34
38
|
|
35
39
|
def ruby24
|
36
40
|
Ruby.new(MRI.new('2.4', MRIRetriever.new))
|
@@ -0,0 +1,70 @@
|
|
1
|
+
require 'minitest/autorun'
|
2
|
+
require 'minitest/reporters'
|
3
|
+
Minitest::Reporters.use!(Minitest::Reporters::SpecReporter.new)
|
4
|
+
require 'vcr'
|
5
|
+
VCR.configure do |configuration|
|
6
|
+
configuration.cassette_library_dir = 'test/vcr'
|
7
|
+
configuration.hook_into :webmock
|
8
|
+
end
|
9
|
+
require './lib/latest_ruby'
|
10
|
+
require 'versionomy'
|
11
|
+
|
12
|
+
describe 'Latest::Ruby#filename' do
|
13
|
+
subject { Latest.ruby.filename }
|
14
|
+
|
15
|
+
it 'Before 2.6.0 release' do
|
16
|
+
VCR.use_cassette '/2.6_only_preview_and_rc' do
|
17
|
+
expect(subject).must_equal('ruby-2.6.0-rc2.tar.gz')
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'After 2.6.0 release' do
|
22
|
+
VCR.use_cassette '/latest' do
|
23
|
+
expect(subject).must_equal('ruby-2.6.0.tar.gz')
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe 'Latest::RubyVersion#to_s' do # rubocop:disable Metrics/BlockLength
|
29
|
+
describe 'preview3' do
|
30
|
+
let(:ver) { '2.6.0-preview3' }
|
31
|
+
subject { Latest::RubyVersion.new(ver) }
|
32
|
+
|
33
|
+
it 'is incorrect when using Gem.' do
|
34
|
+
expect(subject.to_s).must_equal(ver)
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'is correct when using Versionomy.' do
|
38
|
+
subject.instance_variable_set :@version, Versionomy.parse(ver)
|
39
|
+
expect(subject.to_s).must_equal(ver)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
describe 'rc2' do
|
44
|
+
let(:ver) { '2.6.0-rc2' }
|
45
|
+
subject { Latest::RubyVersion.new(ver) }
|
46
|
+
|
47
|
+
it 'is incorrect when using Gem.' do
|
48
|
+
expect(subject.to_s).must_equal(ver)
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'is correct when using Versionomy.' do
|
52
|
+
subject.instance_variable_set :@version, Versionomy.parse(ver)
|
53
|
+
expect(subject.to_s).must_equal(ver)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
describe 'release' do
|
58
|
+
let(:ver) { '2.6.0' }
|
59
|
+
subject { Latest::RubyVersion.new(ver) }
|
60
|
+
|
61
|
+
it 'is incorrect when using Gem.' do
|
62
|
+
expect(subject.to_s).must_equal(ver)
|
63
|
+
end
|
64
|
+
|
65
|
+
it 'is correct when using Versionomy.' do
|
66
|
+
subject.instance_variable_set :@version, Versionomy.parse(ver)
|
67
|
+
expect(subject.to_s).must_equal(ver)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,87 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://ftp.ruby-lang.org/pub/ruby/2.6/
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept-Encoding:
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
|
+
Accept:
|
13
|
+
- "*/*"
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
Host:
|
17
|
+
- ftp.ruby-lang.org
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 200
|
21
|
+
message: OK
|
22
|
+
headers:
|
23
|
+
Server:
|
24
|
+
- Cowboy
|
25
|
+
Content-Type:
|
26
|
+
- text/html;charset=utf-8
|
27
|
+
Cache-Control:
|
28
|
+
- public, max-age=3600
|
29
|
+
X-Xss-Protection:
|
30
|
+
- 1; mode=block
|
31
|
+
X-Content-Type-Options:
|
32
|
+
- nosniff
|
33
|
+
X-Frame-Options:
|
34
|
+
- SAMEORIGIN
|
35
|
+
Via:
|
36
|
+
- 1.1 varnish
|
37
|
+
- 1.1 vegur
|
38
|
+
Fastly-Restarts:
|
39
|
+
- '2'
|
40
|
+
Content-Length:
|
41
|
+
- '3319'
|
42
|
+
Accept-Ranges:
|
43
|
+
- bytes
|
44
|
+
Date:
|
45
|
+
- Tue, 25 Dec 2018 13:10:40 GMT
|
46
|
+
Age:
|
47
|
+
- '0'
|
48
|
+
Connection:
|
49
|
+
- keep-alive
|
50
|
+
X-Served-By:
|
51
|
+
- cache-nrt6120-NRT
|
52
|
+
X-Cache:
|
53
|
+
- MISS
|
54
|
+
X-Cache-Hits:
|
55
|
+
- '0'
|
56
|
+
X-Timer:
|
57
|
+
- S1545743439.817934,VS0,VE2131
|
58
|
+
body:
|
59
|
+
encoding: UTF-8
|
60
|
+
string: "<!DOCTYPE html>\n<html>\n <head>\n <meta charset='utf-8'>\n <title>pub/ruby/2.6/</title>\n<style>\nbody
|
61
|
+
{\n font-family: monospace;\n font-size: 14px;\n}\nul {\n list-style-type:
|
62
|
+
none;\n}\n</style>\n </head>\n <body>\n <h4>pub/ruby/2.6/</h4>\n <ul>\n
|
63
|
+
\ </ul>\n <ul>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-preview1.tar.bz2\">ruby-2.6.0-preview1.tar.bz2</a>
|
64
|
+
14104578 2018-02-26T06:11:09.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-preview1.tar.gz\">ruby-2.6.0-preview1.tar.gz</a>
|
65
|
+
16082501 2018-02-26T06:11:10.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-preview1.tar.xz\">ruby-2.6.0-preview1.tar.xz</a>
|
66
|
+
11423984 2018-02-26T06:11:09.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-preview1.zip\">ruby-2.6.0-preview1.zip</a>
|
67
|
+
19807007 2018-02-26T06:11:10.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-preview2.tar.bz2\">ruby-2.6.0-preview2.tar.bz2</a>
|
68
|
+
14209461 2018-06-13T06:51:19.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-preview2.tar.gz\">ruby-2.6.0-preview2.tar.gz</a>
|
69
|
+
16170732 2018-06-13T06:51:19.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-preview2.tar.xz\">ruby-2.6.0-preview2.tar.xz</a>
|
70
|
+
11525372 2018-06-13T06:51:19.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-preview2.zip\">ruby-2.6.0-preview2.zip</a>
|
71
|
+
19850776 2018-06-13T06:51:21.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-preview3.tar.bz2\">ruby-2.6.0-preview3.tar.bz2</a>
|
72
|
+
14973451 2018-11-06T15:34:08.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-preview3.tar.gz\">ruby-2.6.0-preview3.tar.gz</a>
|
73
|
+
17071670 2018-11-06T15:34:19.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-preview3.tar.xz\">ruby-2.6.0-preview3.tar.xz</a>
|
74
|
+
12291692 2018-11-06T15:34:30.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-preview3.zip\">ruby-2.6.0-preview3.zip</a>
|
75
|
+
21537655 2018-11-06T15:34:51.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-rc1.tar.bz2\">ruby-2.6.0-rc1.tar.bz2</a>
|
76
|
+
14607078 2018-12-06T16:33:18.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-rc1.tar.gz\">ruby-2.6.0-rc1.tar.gz</a>
|
77
|
+
16823448 2018-12-06T16:33:38.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-rc1.tar.xz\">ruby-2.6.0-rc1.tar.xz</a>
|
78
|
+
11851908 2018-12-06T16:34:03.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-rc1.zip\">ruby-2.6.0-rc1.zip</a>
|
79
|
+
20737499 2018-12-06T16:34:13.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-rc2.tar.bz2\">ruby-2.6.0-rc2.tar.bz2</a>
|
80
|
+
14581998 2018-12-15T12:16:22.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-rc2.tar.gz\">ruby-2.6.0-rc2.tar.gz</a>
|
81
|
+
16723556 2018-12-15T12:16:43.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-rc2.tar.xz\">ruby-2.6.0-rc2.tar.xz</a>
|
82
|
+
11908088 2018-12-15T12:17:04.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-rc2.zip\">ruby-2.6.0-rc2.zip</a>
|
83
|
+
20582054 2018-12-25T07:34:56.000Z</li>\n </ul>\n </body>\n</html>\n\n
|
84
|
+
\ \n"
|
85
|
+
http_version:
|
86
|
+
recorded_at: Tue, 25 Dec 2018 13:10:41 GMT
|
87
|
+
recorded_with: VCR 4.0.0
|
data/test/vcr/latest.yml
ADDED
@@ -0,0 +1,91 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://ftp.ruby-lang.org/pub/ruby/2.6/
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept-Encoding:
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
|
+
Accept:
|
13
|
+
- "*/*"
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
Host:
|
17
|
+
- ftp.ruby-lang.org
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 200
|
21
|
+
message: OK
|
22
|
+
headers:
|
23
|
+
Server:
|
24
|
+
- Cowboy
|
25
|
+
Content-Type:
|
26
|
+
- text/html;charset=utf-8
|
27
|
+
Cache-Control:
|
28
|
+
- public, max-age=3600
|
29
|
+
X-Xss-Protection:
|
30
|
+
- 1; mode=block
|
31
|
+
X-Content-Type-Options:
|
32
|
+
- nosniff
|
33
|
+
X-Frame-Options:
|
34
|
+
- SAMEORIGIN
|
35
|
+
Via:
|
36
|
+
- 1.1 varnish
|
37
|
+
- 1.1 vegur
|
38
|
+
Fastly-Restarts:
|
39
|
+
- '2'
|
40
|
+
Content-Length:
|
41
|
+
- '3319'
|
42
|
+
Accept-Ranges:
|
43
|
+
- bytes
|
44
|
+
Date:
|
45
|
+
- Tue, 25 Dec 2018 13:04:43 GMT
|
46
|
+
Age:
|
47
|
+
- '0'
|
48
|
+
Connection:
|
49
|
+
- keep-alive
|
50
|
+
X-Served-By:
|
51
|
+
- cache-nrt6138-NRT
|
52
|
+
X-Cache:
|
53
|
+
- MISS
|
54
|
+
X-Cache-Hits:
|
55
|
+
- '0'
|
56
|
+
X-Timer:
|
57
|
+
- S1545743081.965179,VS0,VE2161
|
58
|
+
body:
|
59
|
+
encoding: UTF-8
|
60
|
+
string: "<!DOCTYPE html>\n<html>\n <head>\n <meta charset='utf-8'>\n <title>pub/ruby/2.6/</title>\n<style>\nbody
|
61
|
+
{\n font-family: monospace;\n font-size: 14px;\n}\nul {\n list-style-type:
|
62
|
+
none;\n}\n</style>\n </head>\n <body>\n <h4>pub/ruby/2.6/</h4>\n <ul>\n
|
63
|
+
\ </ul>\n <ul>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-preview1.tar.bz2\">ruby-2.6.0-preview1.tar.bz2</a>
|
64
|
+
14104578 2018-02-26T06:11:09.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-preview1.tar.gz\">ruby-2.6.0-preview1.tar.gz</a>
|
65
|
+
16082501 2018-02-26T06:11:10.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-preview1.tar.xz\">ruby-2.6.0-preview1.tar.xz</a>
|
66
|
+
11423984 2018-02-26T06:11:09.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-preview1.zip\">ruby-2.6.0-preview1.zip</a>
|
67
|
+
19807007 2018-02-26T06:11:10.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-preview2.tar.bz2\">ruby-2.6.0-preview2.tar.bz2</a>
|
68
|
+
14209461 2018-06-13T06:51:19.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-preview2.tar.gz\">ruby-2.6.0-preview2.tar.gz</a>
|
69
|
+
16170732 2018-06-13T06:51:19.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-preview2.tar.xz\">ruby-2.6.0-preview2.tar.xz</a>
|
70
|
+
11525372 2018-06-13T06:51:19.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-preview2.zip\">ruby-2.6.0-preview2.zip</a>
|
71
|
+
19850776 2018-06-13T06:51:21.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-preview3.tar.bz2\">ruby-2.6.0-preview3.tar.bz2</a>
|
72
|
+
14973451 2018-11-06T15:34:08.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-preview3.tar.gz\">ruby-2.6.0-preview3.tar.gz</a>
|
73
|
+
17071670 2018-11-06T15:34:19.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-preview3.tar.xz\">ruby-2.6.0-preview3.tar.xz</a>
|
74
|
+
12291692 2018-11-06T15:34:30.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-preview3.zip\">ruby-2.6.0-preview3.zip</a>
|
75
|
+
21537655 2018-11-06T15:34:51.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-rc1.tar.bz2\">ruby-2.6.0-rc1.tar.bz2</a>
|
76
|
+
14607078 2018-12-06T16:33:18.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-rc1.tar.gz\">ruby-2.6.0-rc1.tar.gz</a>
|
77
|
+
16823448 2018-12-06T16:33:38.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-rc1.tar.xz\">ruby-2.6.0-rc1.tar.xz</a>
|
78
|
+
11851908 2018-12-06T16:34:03.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-rc1.zip\">ruby-2.6.0-rc1.zip</a>
|
79
|
+
20737499 2018-12-06T16:34:13.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-rc2.tar.bz2\">ruby-2.6.0-rc2.tar.bz2</a>
|
80
|
+
14581998 2018-12-15T12:16:22.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-rc2.tar.gz\">ruby-2.6.0-rc2.tar.gz</a>
|
81
|
+
16723556 2018-12-15T12:16:43.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-rc2.tar.xz\">ruby-2.6.0-rc2.tar.xz</a>
|
82
|
+
11908088 2018-12-15T12:17:04.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0-rc2.zip\">ruby-2.6.0-rc2.zip</a>
|
83
|
+
20643747 2018-12-15T12:17:13.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0.tar.bz2\">ruby-2.6.0.tar.bz2</a>
|
84
|
+
14585856 2018-12-25T07:34:16.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0.tar.gz\">ruby-2.6.0.tar.gz</a>
|
85
|
+
16687800 2018-12-25T07:34:38.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0.tar.xz\">ruby-2.6.0.tar.xz</a>
|
86
|
+
11918536 2018-12-25T07:34:46.000Z</li>\n <li><a href=\"/pub/ruby/2.6/ruby-2.6.0.zip\">ruby-2.6.0.zip</a>
|
87
|
+
20582054 2018-12-25T07:34:56.000Z</li>\n </ul>\n </body>\n</html>\n\n
|
88
|
+
\ \n"
|
89
|
+
http_version:
|
90
|
+
recorded_at: Tue, 25 Dec 2018 13:04:43 GMT
|
91
|
+
recorded_with: VCR 4.0.0
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: latest_ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kyrylo Silin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-12-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -64,6 +64,9 @@ files:
|
|
64
64
|
- lib/latest_ruby/rubies/rubinius.rb
|
65
65
|
- lib/latest_ruby/ruby.rb
|
66
66
|
- lib/latest_ruby/ruby_version.rb
|
67
|
+
- test/test_latest_ruby.rb
|
68
|
+
- test/vcr/2_6_only_preview_and_rc.yml
|
69
|
+
- test/vcr/latest.yml
|
67
70
|
homepage: https://github.com/kyrylo/latest_ruby
|
68
71
|
licenses:
|
69
72
|
- zlib
|
@@ -84,7 +87,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
84
87
|
version: '0'
|
85
88
|
requirements: []
|
86
89
|
rubyforge_project:
|
87
|
-
rubygems_version: 2.6.
|
90
|
+
rubygems_version: 2.7.6.2
|
88
91
|
signing_key:
|
89
92
|
specification_version: 4
|
90
93
|
summary: Answers the question of what the latest Ruby version is
|