travis_check_rubies 0.2.3 → 0.2.4

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
  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?