travis-config 1.1.2 → 1.1.3

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: 433d2ae5f4f45116356930ff15e065024a49d71a
4
- data.tar.gz: 60c43e328234c5daee5f9db106eb6794bc2038b6
3
+ metadata.gz: e0aafc91e58824682d0c5afd7a1ddadf4c58a0c6
4
+ data.tar.gz: 709ee553d716a1abf6eff22540f2a84c6ef2ba12
5
5
  SHA512:
6
- metadata.gz: 2ef4c5d4471c3169d231cc2f0cc73798e8d3bcf4d22e827e2ef1d6b0848779aa0f5ad35cc922fe9664776c1f95bab00aa340ac27507f43c461f2b23fca199a94
7
- data.tar.gz: 7c504acfebd025a4e9410df3fc917016dc6e9f6c387a09ed63f372c0012469aa8fea4fbc960825afd5926ce1784da474b948fe3cea7a3f2b4ac739009b61aab8
6
+ metadata.gz: 697c2cb63f03614519cf100e8bf39e80eb2b773179cdadcf1fc5b12479757f09285e8837fae52d09306563eac116628a29cf1a9c26942028c4fda507918b38b4
7
+ data.tar.gz: f58fe099937ba97f703764f8024fb3a99409f3e3e74dccbc33f74583d128aabf925324d7b250f48e89a18c6e26b49365d3800e5ae0d56be2547a3cbcb52f2ba1
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- travis-config (1.1.1)
5
- hashr (~> 2.0.0)
4
+ travis-config (1.1.2)
5
+ hashr (~> 2.0)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
@@ -39,4 +39,4 @@ DEPENDENCIES
39
39
  travis-config!
40
40
 
41
41
  BUNDLED WITH
42
- 1.14.6
42
+ 1.15.1
@@ -52,7 +52,7 @@ module Travis
52
52
  end
53
53
 
54
54
  def vars(env, keys, default)
55
- pattern = /^#{keys.map(&:upcase).join('_')}_([\d]+)_/
55
+ pattern = /^#{keys.map(&:upcase).join('_')}_([\d]+)_?/
56
56
  vars = env.select { |key, _| key =~ pattern }
57
57
  vars = vars.map { |key, value| [key.sub(pattern, ''), value, $1] }
58
58
  vars.group_by(&:pop).values.map(&:to_h)
@@ -85,7 +85,11 @@ module Travis
85
85
  end
86
86
 
87
87
  def compact(hash)
88
- hash.reject { |_, value| value.nil? }
88
+ hash.reject { |_, value| present?(value) }
89
+ end
90
+
91
+ def present?(value)
92
+ value.nil? || value.respond_to?(:empty?) && value.empty?
89
93
  end
90
94
  end
91
95
 
@@ -1,3 +1,3 @@
1
1
  module TravisConfig
2
- VERSION = '1.1.2'
2
+ VERSION = '1.1.3'
3
3
  end
@@ -10,7 +10,8 @@ module Travis::Test
10
10
  class Config < Travis::Config
11
11
  define amqp: { username: 'guest', password: 'guest', host: 'localhost', prefetch: 1 },
12
12
  database: { adapter: 'postgresql', database: 'test', encoding: 'unicode' },
13
- redis: { url: 'redis://localhost:6379' }
13
+ redis: { url: 'redis://localhost:6379' },
14
+ queues: [ queue: 'queue' ]
14
15
 
15
16
  Env.prefix :travis
16
17
  end
@@ -88,3 +88,27 @@ describe Travis::Config::Env, 'arrays' do
88
88
  it { expect { config }.to raise_error(described_class::UnexpectedString) }
89
89
  end
90
90
  end
91
+
92
+ module Travis::Test::Env::Queues
93
+ class Config < Travis::Config
94
+ define queues: [queue: 'queue', services: ['service']]
95
+
96
+ Env.prefix :travis
97
+ end
98
+ end
99
+
100
+ describe Travis::Config::Env, 'queues' do
101
+ let(:defaults) { { queues: [queue: 'queue', services: ['service']] } }
102
+ let(:config) { Travis::Config::Env.new(defaults).load }
103
+
104
+ describe 'nested array' do
105
+ env TRAVIS_QUEUES_0_QUEUE: 'one',
106
+ TRAVIS_QUEUES_0_SERVICES_0: 'docker'
107
+
108
+ it { expect(config[:queues][0]).to eq queue: 'one', services: ['docker'] }
109
+ end
110
+
111
+ describe 'does not set empty arrays' do
112
+ it { expect(config[:queues]).to be_nil }
113
+ end
114
+ end
@@ -58,7 +58,9 @@ describe Travis::Config do
58
58
  end
59
59
 
60
60
  describe 'loading from keychain and env' do
61
- env travis_config: YAML.dump('redis' => { 'url' => 'redis://url' })
61
+ env travis_config: YAML.dump('redis' => { 'url' => 'redis://url' }, 'queues' => ['queue' => 'from_keychain']),
62
+ TRAVIS_QUEUES_0_QUEUE: 'from_env'
62
63
  it { expect(config.redis.url).to eq 'redis://url' }
64
+ it { expect(config.queues).to eq [queue: 'from_env'] }
63
65
  end
64
66
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: travis-config
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Travis CI
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-28 00:00:00.000000000 Z
11
+ date: 2017-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: hashr
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.0.0
19
+ version: '2.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 2.0.0
26
+ version: '2.0'
27
27
  description: Travis CI config.
28
28
  email: contact@travis-ci.org
29
29
  executables: []