bbc-cosmos-tools 0.5.0 → 0.5.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: 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