travis-config 1.1.2 → 1.1.3

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: 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: []