travis-config 1.1.1 → 1.1.2

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