bbc-cosmos-tools 0.5.0 → 0.5.1

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: ae2b9e2dd15ad2345d36171607515618f1f46f3a
4
- data.tar.gz: 773bab960e3b232518140a7dd16a9d7ec6bbc95b
3
+ metadata.gz: 3d4c810f1415d6faa45be575a50b0be4eb5381f2
4
+ data.tar.gz: a4b9162f01af57a7ff5f3d2191385baa69e4a78b
5
5
  SHA512:
6
- metadata.gz: 1593ed3e95785317ca7b2626b8c80c006301be9bd77a67f802a49ebbbc39d93b90099f7fcf90be76af12bf8ddcb08256e4c05a958b831e3cc9e67351ddf264c0
7
- data.tar.gz: e6d5038ac4673d2df28a2adb9c5e1b2b49cc8af32dcd840de56919f06e0e41b7bead000fbdd67607e265aa085fbf9cc95ee66bfcdd068cadf142cd8e33d9bab3
6
+ metadata.gz: 7750576f43f3001de7547631009b464e45c8412e98b73072376eb8e7de23c442471154fa0963379b3c9ada016199e702630e8764d8d2526d37d549348c6f3c2e
7
+ data.tar.gz: fa98dd2558e6058132ddc16f8af286b1fd2b13a1a407b8b2415625b2354b4214f641177cd658f158f4bdc4869a91e496fac654891cfbdbd7ebd21e36ccda3fcb
@@ -25,6 +25,7 @@ module BBC
25
25
  self.raise_error template
26
26
  else
27
27
  hash = JSON.parse(template.to_json)
28
+ hash['Parameters'] ||= {}
28
29
 
29
30
  if component_exists?(component, config) && stack_exists?(component, config, options[:stack])
30
31
  component_parameters(config.resources, options, component).each do |key, value|
@@ -32,6 +33,8 @@ module BBC
32
33
  end
33
34
  end
34
35
 
36
+ hash.delete_if { |k, v| k == 'Parameters' && v == {} }
37
+
35
38
  to_json ? JSON.pretty_generate(hash) : hash
36
39
  end
37
40
  end
@@ -70,7 +73,7 @@ module BBC
70
73
  end
71
74
 
72
75
  def self.variants(component_meta, variant = nil)
73
- component_meta.has_key?('variants') ? component_meta['variants'][variant] : component_meta['parameters']
76
+ component_meta.has_key?('variants') ? component_meta['variants'][variant] : component_meta.fetch('parameters', {})
74
77
  end
75
78
 
76
79
  def self.component_parameters(resources, options, component)
@@ -130,16 +130,18 @@ module BBC
130
130
 
131
131
  stack_meta = stack_data(component, stack_name, options[:env])
132
132
 
133
- data['Parameters'] = deep_merge(
134
- stack_parameters(stack_meta['parameters']),
135
- data['Parameters']
136
- )
133
+ if data['Parameters']
134
+ data['Parameters'] = deep_merge(
135
+ stack_parameters(stack_meta['parameters']),
136
+ data['Parameters']
137
+ )
137
138
 
138
- params = Tools::Cloudformation::Generator.parameters(data, false)
139
+ params = Tools::Cloudformation::Generator.parameters(data, false)
140
+ end
139
141
 
140
142
  post_data = {
141
143
  'template' => data,
142
- 'parameters' => params
144
+ 'parameters' => params || {}
143
145
  }
144
146
 
145
147
  response = api.post sprintf(config.app['stack_update_endpoint'], options[:env], id, stack_name), JSON.pretty_generate(post_data)
@@ -1,7 +1,7 @@
1
1
  module BBC
2
2
  module Cosmos
3
3
  module Tools
4
- VERSION = "0.5.0"
4
+ VERSION = "0.5.1"
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bbc-cosmos-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steven Jack
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-19 00:00:00.000000000 Z
11
+ date: 2015-03-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -146,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
146
  version: '0'
147
147
  requirements: []
148
148
  rubyforge_project:
149
- rubygems_version: 2.2.2
149
+ rubygems_version: 2.0.14
150
150
  signing_key:
151
151
  specification_version: 4
152
152
  summary: Tool for pusing config to cosmos and controlling cloudformation templates