tiller 0.9.0 → 0.9.1

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: 863e5fa4f42ff7b9f95b538713df8c282e4fcde9
4
- data.tar.gz: a5259605f1bad247aaf50f800a62a4d6be5fddbe
3
+ metadata.gz: 3c450c51691e1827110da4424059b99622150087
4
+ data.tar.gz: 067aa0392a0c56809bcebcf6b8680716b5e9e889
5
5
  SHA512:
6
- metadata.gz: 0be54f3062d330ef4e78a65d53ba43a700a9e64dc3c2875d42fa4e504d82a8a93dfc78a9fb36d4244757cdafd46d64e642d3968e41d96c995063e258fd0637c6
7
- data.tar.gz: a1db215909d38d3d6fb3238d51ac0cced43e0a1ce6fd391aa6d28da3bb1d1b8be6ee4f8b9352ade90901cb0f7a65f6acb0d6d1b58cbadaa60af922ffa6b4eeb0
6
+ metadata.gz: cce13ddaa2bf06a36194779e948814abdff12eb6ceac0504eb25ea0af65851114c1db5fbacc48e1bdbba5258446d56190b8d4a7e806bbb2e86658444ea9c3b39
7
+ data.tar.gz: 965ff02a04f6501cab2479e3913facbb4e8a054cdbcbbffd6572a8d47c1a7043f8d1d4c554816246615486ec61425021f861532317593adbb5c932db3f417585
data/bin/tiller CHANGED
@@ -128,20 +128,20 @@ module Tiller
128
128
  dc = data_class.new
129
129
 
130
130
  # First take the global values from the datasource
131
- tiller.merge!(data_class.new.global_values) do |key, old, new|
131
+ tiller.tiller_merge!(data_class.new.global_values) do |key, old, new|
132
132
  warn_merge(key, old, new, 'data', data_class.to_s)
133
133
  end
134
134
 
135
135
  # Then merge template values over the top of them
136
136
  if dc.values(template) != nil
137
- tiller.merge!(dc.values(template)) do |key, old, new|
137
+ tiller.tiller_merge!(dc.values(template)) do |key, old, new|
138
138
  warn_merge(key, old, new, 'data', data_class.to_s)
139
139
  end
140
140
  end
141
141
 
142
142
  # Now get target_values (where the file should be installed to,
143
143
  # permissions and so on)
144
- target_values.merge!(dc.target_values(template)) do |key, old, new|
144
+ target_values.tiller_merge!(dc.target_values(template)) do |key, old, new|
145
145
  warn_merge(key, old, new, 'target', data_class.to_s)
146
146
  end
147
147
  end
@@ -12,6 +12,7 @@ module Tiller
12
12
  'api_enable' => false,
13
13
  'md5sum' => false,
14
14
  'md5sum_noexec' => false,
15
+ 'deep_merge' => false,
15
16
  'api_port' => 6275
16
17
  }
17
18
  end
data/lib/tiller/util.rb CHANGED
@@ -1,5 +1,14 @@
1
- # Thanks, StackOverflow ;)
2
1
  class ::Hash
2
+
3
+ def tiller_merge!(second)
4
+ if Tiller::config['deep_merge']
5
+ self.deep_merge!(second)
6
+ else
7
+ self.merge!(second){ |key , v1 , v2| yield key, v1, v2 if block_given? }
8
+ end
9
+ end
10
+
11
+
3
12
  def deep_merge!(second)
4
13
  merger = proc { |_key, v1, v2| Hash === v1 && Hash === v2 ? v1.merge(v2, &merger) : [:undefined, nil, :nil].include?(v2) ? v1 : v2 }
5
14
  self.merge!(second, &merger)
@@ -1 +1 @@
1
- VERSION="0.9.0"
1
+ VERSION="0.9.1"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tiller
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Dastmalchi-Round
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-10 00:00:00.000000000 Z
11
+ date: 2016-07-17 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A tool to create configuration files from a variety of sources, particularly
14
14
  useful for Docker containers. See https://github.com/markround/tiller for examples