stackster 0.0.4 → 0.0.5

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.
@@ -17,7 +17,7 @@ module Stackster
17
17
 
18
18
  def self.list(args)
19
19
  @config = Config.new :config => args[:config]
20
- StackLister.new(:config => @config).all
20
+ stack_lister.all
21
21
  end
22
22
 
23
23
  def create(args)
@@ -31,7 +31,16 @@ module Stackster
31
31
  @template_body = template
32
32
  @entry.set_attributes args[:attributes]
33
33
  @entry.save
34
- stack_updater.update
34
+ update_stack_if_parameters_changed args[:attributes]
35
+ end
36
+
37
+ def update_stack_if_parameters_changed(updated_parameters)
38
+ current_parameters = JSON.parse(template)['Parameters'].keys
39
+ updated_parameters = (updated_parameters.map { |s| s.keys }).flatten
40
+
41
+ if (current_parameters - updated_parameters) != current_parameters
42
+ stack_updater.update
43
+ end
35
44
  end
36
45
 
37
46
  def destroy
@@ -110,5 +119,9 @@ module Stackster
110
119
  :config => @config
111
120
  end
112
121
 
122
+ def self.stack_lister
123
+ @stack_lister ||= StackLister.new :config => @config
124
+ end
125
+
113
126
  end
114
127
  end
@@ -1,3 +1,3 @@
1
1
  module Stackster
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stackster
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-14 00:00:00.000000000 Z
12
+ date: 2012-06-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70167959294400 !ruby/object:Gem::Requirement
16
+ requirement: &70351312812000 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70167959294400
24
+ version_requirements: *70351312812000
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: fog
27
- requirement: &70167959293840 !ruby/object:Gem::Requirement
27
+ requirement: &70351312788500 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70167959293840
35
+ version_requirements: *70351312788500
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: trollop
38
- requirement: &70167959293260 !ruby/object:Gem::Requirement
38
+ requirement: &70351312785780 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70167959293260
46
+ version_requirements: *70351312785780
47
47
  description: Thats what I do
48
48
  email:
49
49
  - brett@weav.net
@@ -93,7 +93,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
93
93
  version: '0'
94
94
  segments:
95
95
  - 0
96
- hash: -636613462525383174
96
+ hash: 4265425131248996622
97
97
  required_rubygems_version: !ruby/object:Gem::Requirement
98
98
  none: false
99
99
  requirements:
@@ -102,7 +102,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
102
  version: '0'
103
103
  segments:
104
104
  - 0
105
- hash: -636613462525383174
105
+ hash: 4265425131248996622
106
106
  requirements: []
107
107
  rubyforge_project: stackster
108
108
  rubygems_version: 1.8.16