travis_check_rubies 0.2.3 → 0.2.4

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
2
  SHA1:
3
- metadata.gz: 705f3daf747e41d10b3741675911bc8e4e8c2a0b
4
- data.tar.gz: e6f8c836ab2219974821ebbf9d574cb85a75e496
3
+ metadata.gz: 79c7c553d8c2dfe132d8271ce1b7d15d0e1af4b1
4
+ data.tar.gz: d79de154f958f13910b95d5064c1373c9625374b
5
5
  SHA512:
6
- metadata.gz: ef52802f01db0665985b173ad44a12e01a5c9ad86f338d2123a4a5f3c3cccace827700f8958ba2b51a946076f10cc78303c3444ef8858c758d017da9c6ebd697
7
- data.tar.gz: 70c2ad0b29ca21d23d5180c8beb9527c8ccf747537724d986a0c5091f82c169d3e535c7558023c07e6fdf5bca1bda2c5e8964af59f5658e179c7e1f2a09af9fc
6
+ metadata.gz: e5ea1758ef15bff59ca6e325d7be842e9afbe4384f3d230d0aa5746a36c0d97af85adbe1326d09932508ac4b911139db74d65874a5638fa8a207069b1a7de959
7
+ data.tar.gz: 6b13a16da277c44683bc7445ae2a2118c7964c5f20b78653d409aee63145b31ece17b52e1643e5bc8dcbd9eeaded78a7bff9dddd5b186755a62867eb0091fc2e
@@ -30,13 +30,14 @@ module TravisCheckRubies
30
30
  parts = Array(parts)
31
31
  exclude = exclude.map{ |ev| convert(ev) }
32
32
  ordered = allow_pre ? available : available.partition(&:pre).inject(:+)
33
- candidates = ordered.reverse.select do |v|
33
+ candidates = ordered.select do |v|
34
34
  next unless v.version_parts
35
35
  next unless v.match?(version, parts.min)
36
36
  next unless v >= version
37
+ next if !allow_pre && v.pre && !version.pre
37
38
  next if exclude.any?{ |ev| ev.match?(v, ev.version_parts.length) }
38
39
  true
39
- end
40
+ end.reverse
40
41
 
41
42
  updates = if intermediary
42
43
  candidates.group_by do |v|
@@ -385,32 +385,50 @@ describe TravisCheckRubies::Version do
385
385
  end
386
386
 
387
387
  describe 'pre releases' do
388
- let(:available_strs){ %w[2.4.0-pre 2.4.0 2.4.1 2.4.2-pre1 2.4.2-pre2] }
388
+ let(:available_strs){ %w[2.4.0-pre 2.4.0 2.4.1 2.4.2-pre1 2.4.2-pre2 2.5.0 2.5.1-preview1 3.0.0-preview1] }
389
389
 
390
- context 'when for pre release there is only newer pre release' do
391
- it 'returns next pre release' do
392
- expect(described_class.update(v('2.4.2-pre1'))).to eq [v('2.4.2-pre2')]
390
+ context 'when allow_pre is false' do
391
+ context 'for release version' do
392
+ it 'returns only newer release versions' do
393
+ expect(described_class.update(v('2.4.0'))).to eq vs(%w[2.4.1 2.5.0])
394
+ end
393
395
  end
394
- end
395
396
 
396
- context 'when there is a newer release and even newer pre release' do
397
- context 'for release' do
398
- it 'returns newer release when allow_pre is false' do
399
- expect(described_class.update(v('2.4.0'))).to eq [v('2.4.1')]
397
+ context 'for pre release version' do
398
+ context 'there are newer release versions' do
399
+ it 'returns newer release versions' do
400
+ expect(described_class.update(v('2.4.0-pre'))).to eq vs(%w[2.4.1 2.5.0 3.0.0-preview1])
401
+ end
402
+ end
403
+
404
+ context 'there are no newer release versions' do
405
+ it 'returns newer pre release versions' do
406
+ expect(described_class.update(v('2.4.2-pre1'))).to eq vs(%w[2.4.2-pre2 2.5.0 3.0.0-preview1])
407
+ end
400
408
  end
409
+ end
410
+ end
411
+
412
+ context 'when allow_pre is true' do
413
+ let(:expected){ vs(%w[2.4.2-pre2 2.5.1-preview1 3.0.0-preview1]) }
401
414
 
402
- it 'returns even newer pre release when allow_pre is true' do
403
- expect(described_class.update(v('2.4.0'), allow_pre: true)).to eq [v('2.4.2-pre2')]
415
+ context 'for release version' do
416
+ it 'returns newer pre release versions' do
417
+ expect(described_class.update(v('2.4.0'), allow_pre: true)).to eq expected
404
418
  end
405
419
  end
406
420
 
407
- context 'for pre release' do
408
- it 'returns release when allow_pre is false' do
409
- expect(described_class.update(v('2.4.0-pre'))).to eq [v('2.4.1')]
421
+ context 'for pre release version' do
422
+ context 'there are newer release versions' do
423
+ it 'returns newer pre release versions' do
424
+ expect(described_class.update(v('2.4.0-pre'), allow_pre: true)).to eq expected
425
+ end
410
426
  end
411
427
 
412
- it 'returns even newer pre release when allow_pre is true' do
413
- expect(described_class.update(v('2.4.0-pre'), allow_pre: true)).to eq [v('2.4.2-pre2')]
428
+ context 'there are no newer release versions' do
429
+ it 'returns newer pre release versions' do
430
+ expect(described_class.update(v('2.4.2-pre1'), allow_pre: true)).to eq expected
431
+ end
414
432
  end
415
433
  end
416
434
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = 'travis_check_rubies'
5
- s.version = '0.2.3'
5
+ s.version = '0.2.4'
6
6
  s.summary = 'Are you using the latest rubies in .travis.yml?'
7
7
  s.description = 'Check if `.travis.yml` specifies latest available rubies from listed on https://rubies.travis-ci.org and propose changes'
8
8
  s.homepage = "http://github.com/toy/#{s.name}"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: travis_check_rubies
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Kuchin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-18 00:00:00.000000000 Z
11
+ date: 2017-11-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fspath
@@ -77,7 +77,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
77
77
  version: '0'
78
78
  requirements: []
79
79
  rubyforge_project:
80
- rubygems_version: 2.6.13
80
+ rubygems_version: 2.6.14
81
81
  signing_key:
82
82
  specification_version: 4
83
83
  summary: Are you using the latest rubies in .travis.yml?