travis-config 1.1.1 → 1.1.2

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: 2db328b9fff6ec2788a6c6b297005601117a8045
4
- data.tar.gz: 239d6c3e786ea50e771b22134c6c514ddc43e7fe
3
+ metadata.gz: 433d2ae5f4f45116356930ff15e065024a49d71a
4
+ data.tar.gz: 60c43e328234c5daee5f9db106eb6794bc2038b6
5
5
  SHA512:
6
- metadata.gz: 30d43b9068219b5c555a713c631c81b862ef60b129646f11f3e7095a40783ef835a5f1128b51ebf3a7b3743b855eee6d86b2dea6601736b69762f781c77acf80
7
- data.tar.gz: fd874e4d30b6ca7d298dd72b68fb2e26dcf6e8b2ea749b23530cb43bdf299960d69b92f851a81be2332b8625e340e2ec4e4a36b4b2879092bb645c1d11802f15
6
+ metadata.gz: 2ef4c5d4471c3169d231cc2f0cc73798e8d3bcf4d22e827e2ef1d6b0848779aa0f5ad35cc922fe9664776c1f95bab00aa340ac27507f43c461f2b23fca199a94
7
+ data.tar.gz: 7c504acfebd025a4e9410df3fc917016dc6e9f6c387a09ed63f372c0012469aa8fea4fbc960825afd5926ce1784da474b948fe3cea7a3f2b4ac739009b61aab8
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- travis-config (1.1.0)
4
+ travis-config (1.1.1)
5
5
  hashr (~> 2.0.0)
6
6
 
7
7
  GEM
@@ -14,15 +14,16 @@ module Travis
14
14
  FALSE = /^(false|no|off)$/
15
15
 
16
16
  def to_h
17
- defaults.deep_merge(hash(ENV, prefix.dup, defaults))
17
+ hash(ENV, prefix.dup, defaults)
18
18
  end
19
19
 
20
20
  private
21
21
 
22
22
  def hash(env, prefix, defaults)
23
- defaults.inject({}) do |config, (key, default)|
23
+ hash = defaults.inject({}) do |config, (key, default)|
24
24
  config.merge key => obj(env, prefix + [key], default)
25
25
  end
26
+ compact(hash)
26
27
  end
27
28
 
28
29
  def obj(env, keys, default)
@@ -45,7 +46,7 @@ module Travis
45
46
 
46
47
  def var(env, key, default)
47
48
  key = key.map(&:upcase).join('_')
48
- value = env.fetch(key, default)
49
+ value = env[key]
49
50
  raise UnexpectedString.new(key, value) if value.is_a?(String) && hashes?(default)
50
51
  default.is_a?(Array) ? split(value) : cast(value, default)
51
52
  end
@@ -70,7 +71,7 @@ module Travis
70
71
  when ''
71
72
  nil
72
73
  else
73
- default.is_a?(Symbol) ? value.to_sym : value
74
+ value && default.is_a?(Symbol) ? value.to_sym : value
74
75
  end
75
76
  end
76
77
 
@@ -82,6 +83,10 @@ module Travis
82
83
  def hashes?(obj)
83
84
  obj.is_a?(Array) && obj.first.is_a?(Hash)
84
85
  end
86
+
87
+ def compact(hash)
88
+ hash.reject { |_, value| value.nil? }
89
+ end
85
90
  end
86
91
 
87
92
  def self.prefix(prefix = nil)
@@ -1,3 +1,3 @@
1
1
  module TravisConfig
2
- VERSION = '1.1.1'
2
+ VERSION = '1.1.2'
3
3
  end
@@ -1,5 +1,5 @@
1
1
  describe Travis::Config do
2
- let(:config) { Travis::Test::Config.load(:files, :keychain, :heroku, :docker) }
2
+ let(:config) { Travis::Test::Config.load }
3
3
 
4
4
  describe 'Hashr behaviour' do
5
5
  after :each do
@@ -56,4 +56,9 @@ describe Travis::Config do
56
56
  it { expect(config.logs_database).to eq nil }
57
57
  end
58
58
  end
59
+
60
+ describe 'loading from keychain and env' do
61
+ env travis_config: YAML.dump('redis' => { 'url' => 'redis://url' })
62
+ it { expect(config.redis.url).to eq 'redis://url' }
63
+ end
59
64
  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.1
4
+ version: 1.1.2
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-24 00:00:00.000000000 Z
11
+ date: 2017-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: hashr