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 +4 -4
- data/Gemfile.lock +3 -3
- data/lib/travis/config/env.rb +6 -2
- data/lib/travis/config/version.rb +1 -1
- data/spec/spec_helper.rb +2 -1
- data/spec/travis/config/env_spec.rb +24 -0
- data/spec/travis/config_spec.rb +3 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e0aafc91e58824682d0c5afd7a1ddadf4c58a0c6
|
4
|
+
data.tar.gz: 709ee553d716a1abf6eff22540f2a84c6ef2ba12
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 697c2cb63f03614519cf100e8bf39e80eb2b773179cdadcf1fc5b12479757f09285e8837fae52d09306563eac116628a29cf1a9c26942028c4fda507918b38b4
|
7
|
+
data.tar.gz: f58fe099937ba97f703764f8024fb3a99409f3e3e74dccbc33f74583d128aabf925324d7b250f48e89a18c6e26b49365d3800e5ae0d56be2547a3cbcb52f2ba1
|
data/Gemfile.lock
CHANGED
data/lib/travis/config/env.rb
CHANGED
@@ -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
|
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
|
|
data/spec/spec_helper.rb
CHANGED
@@ -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
|
data/spec/travis/config_spec.rb
CHANGED
@@ -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.
|
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-
|
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
|
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
|
26
|
+
version: '2.0'
|
27
27
|
description: Travis CI config.
|
28
28
|
email: contact@travis-ci.org
|
29
29
|
executables: []
|