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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: cc46c14e32169e09a87f3e22d2d1b4ff8bab6e1d
4
- data.tar.gz: 0cdd3c83c7ea42bd892b384e91990aafde6ccad6
2
+ SHA256:
3
+ metadata.gz: dd40ee3d84fd06fc75da25dec91ec8879728466717b20f1084f580bd2512cc00
4
+ data.tar.gz: 6de6478f1ae09672c30eaa66726dccff01a16bdb01fff0aa7a16f2198fbd4919
5
5
  SHA512:
6
- metadata.gz: 821a689257fcc60d4084b0aabd3f9c74e9f04f9b469bea699fae5c152e3a350edfd8053fae0288e461bc4ee6d9ccad69355c397c4e6d44bcb93883d49837ec67
7
- data.tar.gz: ce0d2ae848215bfd1aeba97f7792bcbb22372e67bea235b800a11356172913666e5e5709f9c08b08b0c4c0c240f9fd4652b39861e6aa52d7121ca16195dfd8b9
6
+ metadata.gz: 9b2c35c01bcea64f89ffd1204382a2fa8992faf3cd52db9470d9f4672ad40259d3a8c15fc6aff242bbbc588f7564f99955ab38c13d4a8f36edd021051151acb5
7
+ data.tar.gz: 6a52c2c064244ce33fca844176f14e725bc9800ba42d04d8fbbcb6ba1e28eb70d56ba8708c187477af6d8c81c13316596b4a1852de013692b81b2a25b7d9817c
data/.gitignore CHANGED
@@ -2,3 +2,5 @@
2
2
  *.gem
3
3
  Gemfile.lock
4
4
  .rbx
5
+ .bundle
6
+ vendor/bundle
@@ -1,6 +1,11 @@
1
1
  Latest Ruby changelog
2
2
  =====================
3
3
 
4
+ ### v2.0.0 (December 24, 2019)
5
+
6
+ * Added support for Ruby 2.7
7
+ ([#14](https://github.com/kyrylo/latest_ruby/pull/14))
8
+
4
9
  ### v1.0.0 (December 24, 2018)
5
10
 
6
11
  * Added support for Ruby 2.6
data/Gemfile CHANGED
@@ -1,2 +1,10 @@
1
1
  source 'http://rubygems.org'
2
2
  gemspec
3
+
4
+ group :test do
5
+ gem 'minitest'
6
+ gem 'minitest-reporters'
7
+ gem 'vcr'
8
+ gem 'webmock'
9
+ gem 'versionomy'
10
+ end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 2.0.0
@@ -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, :ruby26
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
@@ -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: 1.0.0
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: 2018-12-24 00:00:00.000000000 Z
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.13
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