caterer 1.2.1 → 1.2.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: e4c798c2f1c36ac80248f74196055b373f632dde
4
- data.tar.gz: e7ef1a46ef4ae5accb35c636476a188d183c8dc6
3
+ metadata.gz: a808859b01bc238730287b910ceb2588405e40d8
4
+ data.tar.gz: 86e56f780441f548b10ee26f9d60464c0ce69536
5
5
  SHA512:
6
- metadata.gz: 4bb9ab8f4145b042315d78f3105c98215e22ccc00e50ad74220924f4e8f72a04c2580fadb3629fa6d137ab0b3d4977e2b7820f7a0002f0b03365f7c43ea5f403
7
- data.tar.gz: 2b0ef6ca34b0d2380686edba5e69f012575dfffa56aaa96043426e866e6a9a21b6caa666bad471c9ed278157f995df3fb7834a63ab3c736d1f4f3387910e7d79
6
+ metadata.gz: 8a55385a2e54c2e0102591ab019e51545a95f40c3eb890ff206a39963ec25b5b903518a81315478be461f84de4e03b770384fac61cb5f25f0a26c48ecffdf018
7
+ data.tar.gz: b6d7bf4ef62e09e0bedbd3a78cbbd6258c391e0d04f908a60c588deacacbb83bc5e7ce85d1c6dc01ff199c8578b7bb7c87888ce16d4259927d8e017cc5c9d6f4
data/Gemfile CHANGED
@@ -5,3 +5,4 @@ gemspec
5
5
 
6
6
  gem 'rake'
7
7
  gem 'berkshelf'
8
+ gem 'pry'
@@ -9,6 +9,7 @@ module Caterer
9
9
  class ChefSolo < Base
10
10
 
11
11
  include Util::Shell
12
+ include Util::Hash
12
13
 
13
14
  attr_reader :run_list
14
15
  attr_accessor :json, :cookbooks_path, :roles_path
@@ -156,7 +157,7 @@ module Caterer
156
157
 
157
158
  # create json
158
159
  server.ui.info "Generating json config..."
159
- server.ssh.upload(StringIO.new(json_config(config_data.merge(server.data))), target_json_config_path)
160
+ server.ssh.upload(StringIO.new(json_config(deep_merge(config_data, server.data))), target_json_config_path)
160
161
 
161
162
  # set permissions on everything
162
163
  server.ssh.sudo "chown -R #{server.username} #{dest_lib_dir}", :stream => true
@@ -1,6 +1,7 @@
1
1
  module Caterer
2
2
  module Util
3
3
  autoload :ANSIEscapeCodeRemover, 'caterer/util/ansi_escape_code_remover'
4
+ autoload :Hash, 'caterer/util/hash'
4
5
  autoload :Retryable, 'caterer/util/retryable'
5
6
  autoload :Shell, 'caterer/util/shell'
6
7
  end
@@ -0,0 +1,15 @@
1
+ module Caterer
2
+ module Util
3
+ module Hash
4
+
5
+ def deep_merge(hash, other_hash)
6
+ hash.merge(other_hash) do |key, oldval, newval|
7
+ oldval = oldval.to_hash if oldval.respond_to?(:to_hash)
8
+ newval = newval.to_hash if newval.respond_to?(:to_hash)
9
+ oldval.class.to_s == 'Hash' && newval.class.to_s == 'Hash' ? deep_merge(oldval, newval) : newval
10
+ end
11
+ end
12
+
13
+ end
14
+ end
15
+ end
@@ -1,3 +1,3 @@
1
1
  module Caterer
2
- VERSION = "1.2.1"
2
+ VERSION = "1.2.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: caterer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tyler Flint
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-13 00:00:00.000000000 Z
11
+ date: 2013-10-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: log4r
@@ -223,6 +223,7 @@ files:
223
223
  - lib/caterer/server.rb
224
224
  - lib/caterer/util.rb
225
225
  - lib/caterer/util/ansi_escape_code_remover.rb
226
+ - lib/caterer/util/hash.rb
226
227
  - lib/caterer/util/retryable.rb
227
228
  - lib/caterer/util/shell.rb
228
229
  - lib/caterer/version.rb