caterer 1.2.1 → 1.2.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: 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