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