engineyard 1.3.15 → 1.3.16

Sign up to get free protection for your applications and to get access to all the features.
@@ -189,7 +189,7 @@ module EY
189
189
  raise NoCommandError.new if cmd.nil? and hosts.count != 1
190
190
 
191
191
  hosts.each do |host|
192
- system "ssh #{environment.username}@#{host} #{cmd}"
192
+ system Escape.shell_command(['ssh', "#{environment.username}@#{host}", cmd].compact)
193
193
  end
194
194
  end
195
195
 
@@ -1,3 +1,3 @@
1
1
  module EY
2
- VERSION = '1.3.15'
2
+ VERSION = '1.3.16'
3
3
  end
@@ -11,7 +11,7 @@ describe "ey deploy without an eyrc file" do
11
11
  end
12
12
 
13
13
  it "prompts for authentication before continuing" do
14
- ey("deploy", :hide_err => true) do |input|
14
+ ey(%w[deploy], :hide_err => true) do |input|
15
15
  input.puts("test@test.test")
16
16
  input.puts("test")
17
17
  end
@@ -28,12 +28,12 @@ describe "ey deploy" do
28
28
  given "integration"
29
29
 
30
30
  def command_to_run(opts)
31
- cmd = "deploy"
32
- cmd << " --environment #{opts[:environment]}" if opts[:environment]
33
- cmd << " --app #{opts[:app]}" if opts[:app]
34
- cmd << " --account #{opts[:account]}" if opts[:account]
35
- cmd << " --ref #{opts[:ref]}" if opts[:ref]
36
- cmd << " --verbose" if opts[:verbose]
31
+ cmd = ["deploy"]
32
+ cmd << "--environment" << opts[:environment] if opts[:environment]
33
+ cmd << "--app" << opts[:app] if opts[:app]
34
+ cmd << "--account" << opts[:account] if opts[:account]
35
+ cmd << "--ref" << opts[:ref] if opts[:ref]
36
+ cmd << "--verbose" if opts[:verbose]
37
37
  cmd
38
38
  end
39
39
 
@@ -308,7 +308,7 @@ describe "ey deploy" do
308
308
  end
309
309
 
310
310
  it "passes the extra configuration to engineyard-serverside" do
311
- ey "deploy --extra-deploy-hook-options some:stuff more:crap"
311
+ ey %w[deploy --extra-deploy-hook-options some:stuff more:crap]
312
312
  extra_deploy_hook_options.should_not be_nil
313
313
  extra_deploy_hook_options['some'].should == 'stuff'
314
314
  extra_deploy_hook_options['more'].should == 'crap'
data/spec/ey/ey_spec.rb CHANGED
@@ -9,14 +9,14 @@ describe "ey" do
9
9
 
10
10
  context "run with an argument that is not a command" do
11
11
  it "tells the user that is not a command" do
12
- ey "foobarbaz", :expect_failure => true
12
+ ey %w[foobarbaz], :expect_failure => true
13
13
  @err.should include("Could not find command")
14
14
  end
15
15
  end
16
16
 
17
17
  context "run a command and a bad flag" do
18
18
  it "tells the user that is not a valid flag" do
19
- ey "help --expect-failure", :expect_failure => true
19
+ ey %w[help --expect-failure], :expect_failure => true
20
20
  @err.should include("Unknown switches")
21
21
  end
22
22
  end
@@ -9,7 +9,7 @@ describe "ey environments" do
9
9
  end
10
10
 
11
11
  it "lists the environments your app is in" do
12
- ey "environments"
12
+ ey %w[environments]
13
13
  @out.should include('rails232app (main)')
14
14
  @out.should =~ /giblets/
15
15
  @out.should =~ /bakon/
@@ -17,25 +17,25 @@ describe "ey environments" do
17
17
 
18
18
  it "reports failure to find a git repo when not in one" do
19
19
  Dir.chdir("/tmp") do
20
- ey "environments", :expect_failure => true
20
+ ey %w[environments], :expect_failure => true
21
21
  @err.should =~ /fatal: No git remotes found in .*\/tmp/
22
22
  @out.should_not =~ /no application configured/
23
23
  end
24
24
  end
25
25
 
26
26
  it "lists all environments that have apps with -a" do
27
- ey "environments -a"
27
+ ey %w[environments -a]
28
28
  @out.should include("bakon")
29
29
  @out.should include("giblets")
30
30
  end
31
31
 
32
32
  it "outputs simply with -s" do
33
- ey "environments -s", :debug => false
33
+ ey %w[environments -s], :debug => false
34
34
  @out.split(/\n/).sort.should == ["bakon", "giblets"]
35
35
  end
36
36
 
37
37
  it "outputs all environments (including ones with no apps) simply with -a and -s" do
38
- ey "environments -a -s", :debug => false
38
+ ey %w[environments -a -s], :debug => false
39
39
  @out.split(/\n/).sort.should == ["bakon", "beef", "giblets"]
40
40
  end
41
41
 
@@ -46,7 +46,7 @@ describe "ey environments with an ambiguous git repo" do
46
46
  it_should_behave_like "it has an ambiguous git repo"
47
47
 
48
48
  it "lists environments from all apps using the git repo" do
49
- ey "environments"
49
+ ey %w[environments]
50
50
  @out.should =~ /git repo matches multiple/i
51
51
  @out.should include("giblets")
52
52
  @out.should include("keycollector_production")
data/spec/ey/logs_spec.rb CHANGED
@@ -5,7 +5,7 @@ describe "ey logs" do
5
5
 
6
6
  it "prints logs returned by awsm" do
7
7
  api_scenario "one app, one environment"
8
- ey "logs -e giblets"
8
+ ey %w[logs -e giblets]
9
9
  @out.should match(/MAIN LOG OUTPUT/)
10
10
  @out.should match(/CUSTOM LOG OUTPUT/)
11
11
  @err.should be_empty
@@ -13,7 +13,7 @@ describe "ey logs" do
13
13
 
14
14
  it "complains when it can't infer the environment" do
15
15
  api_scenario "one app, many environments"
16
- ey "logs", :expect_failure => true
16
+ ey %w[logs], :expect_failure => true
17
17
  @err.should =~ /repository url in this directory is ambiguous/i
18
18
  end
19
19
  end
@@ -22,9 +22,9 @@ describe "ey logs" do
22
22
  given "integration"
23
23
 
24
24
  def command_to_run(opts)
25
- cmd = "logs"
26
- cmd << " --environment #{opts[:environment]}" if opts[:environment]
27
- cmd << " --account #{opts[:account]}" if opts[:account]
25
+ cmd = ["logs"]
26
+ cmd << "--environment" << opts[:environment] if opts[:environment]
27
+ cmd << "--account" << opts[:account] if opts[:account]
28
28
  cmd
29
29
  end
30
30
 
@@ -4,9 +4,9 @@ describe "ey rebuild" do
4
4
  given "integration"
5
5
 
6
6
  def command_to_run(opts)
7
- cmd = "rebuild"
8
- cmd << " --environment #{opts[:environment]}" if opts[:environment]
9
- cmd << " --account #{opts[:account]}" if opts[:account]
7
+ cmd = ["rebuild"]
8
+ cmd << "--environment" << opts[:environment] if opts[:environment]
9
+ cmd << "--account" << opts[:account] if opts[:account]
10
10
  cmd
11
11
  end
12
12
 
@@ -4,9 +4,9 @@ describe "ey recipes apply" do
4
4
  given "integration"
5
5
 
6
6
  def command_to_run(opts)
7
- cmd = "recipes apply"
8
- cmd << " -e #{opts[:environment]}" if opts[:environment]
9
- cmd << " --account #{opts[:account]}" if opts[:account]
7
+ cmd = %w[recipes apply]
8
+ cmd << "-e" << opts[:environment] if opts[:environment]
9
+ cmd << "--account" << opts[:account] if opts[:account]
10
10
  cmd
11
11
  end
12
12
 
@@ -17,13 +17,13 @@ describe "ey recipes apply" do
17
17
  it_should_behave_like "it takes an environment name and an account name"
18
18
 
19
19
  it "fails when given a bad option" do
20
- ey "web enable --lots --of --bogus --options", :expect_failure => true
20
+ ey %w[web enable --lots --of --bogus --options], :expect_failure => true
21
21
  @err.should include("Unknown switches")
22
22
  end
23
23
  end
24
24
 
25
25
  describe "ey recipes apply with an ambiguous git repo" do
26
26
  given "integration"
27
- def command_to_run(_) "recipes apply" end
27
+ def command_to_run(_) %w[recipes apply] end
28
28
  it_should_behave_like "it requires an unambiguous git repo"
29
29
  end
@@ -15,9 +15,9 @@ describe "ey recipes download" do
15
15
  end
16
16
 
17
17
  def command_to_run(opts)
18
- cmd = "recipes download"
19
- cmd << " --environment #{opts[:environment]}" if opts[:environment]
20
- cmd << " --account #{opts[:account]}" if opts[:account]
18
+ cmd = %w[recipes download]
19
+ cmd << "--environment" << opts[:environment] if opts[:environment]
20
+ cmd << "--account" << opts[:account] if opts[:account]
21
21
  cmd
22
22
  end
23
23
 
@@ -31,13 +31,13 @@ describe "ey recipes download" do
31
31
  it "fails when cookbooks/ already exists" do
32
32
  api_scenario "one app, one environment"
33
33
  Dir.mkdir("cookbooks")
34
- ey "recipes download", :expect_failure => true
34
+ ey %w[recipes download], :expect_failure => true
35
35
  @err.should match(/cookbooks.*already exists/i)
36
36
  end
37
37
  end
38
38
 
39
39
  describe "ey recipes download with an ambiguous git repo" do
40
40
  given "integration"
41
- def command_to_run(_) "recipes download" end
41
+ def command_to_run(_) %w[recipes download] end
42
42
  it_should_behave_like "it requires an unambiguous git repo"
43
43
  end
@@ -10,9 +10,9 @@ describe "ey recipes upload" do
10
10
  use_git_repo('+cookbooks')
11
11
 
12
12
  def command_to_run(opts)
13
- cmd = "recipes upload"
14
- cmd << " --environment #{opts[:environment]}" if opts[:environment]
15
- cmd << " --account #{opts[:account]}" if opts[:account]
13
+ cmd = %w[recipes upload]
14
+ cmd << "--environment" << opts[:environment] if opts[:environment]
15
+ cmd << "--account" << opts[:account] if opts[:account]
16
16
  cmd
17
17
  end
18
18
 
@@ -25,7 +25,7 @@ end
25
25
 
26
26
  describe "ey recipes upload with an ambiguous git repo" do
27
27
  given "integration"
28
- def command_to_run(_) "recipes upload" end
28
+ def command_to_run(_) %w[recipes upload] end
29
29
  it_should_behave_like "it requires an unambiguous git repo"
30
30
  end
31
31
 
@@ -47,7 +47,7 @@ describe "ey recipes upload from a separate cookbooks directory" do
47
47
  it "takes the environment specified by -e" do
48
48
  api_scenario "one app, one environment"
49
49
 
50
- ey "recipes upload -e giblets"
50
+ ey %w[recipes upload -e giblets]
51
51
  @out.should =~ /Recipes uploaded successfully/
52
52
  end
53
53
  end
@@ -69,7 +69,7 @@ describe "ey recipes upload from a separate cookbooks directory" do
69
69
  it "takes the environment specified by -e" do
70
70
  api_scenario "one app, one environment"
71
71
 
72
- ey "recipes upload -e giblets"
72
+ ey %w[recipes upload -e giblets]
73
73
  @out.should =~ /Recipes uploaded successfully/
74
74
  end
75
75
 
@@ -4,11 +4,11 @@ describe "ey rollback" do
4
4
  given "integration"
5
5
 
6
6
  def command_to_run(opts)
7
- cmd = "rollback"
8
- cmd << " -e #{opts[:environment]}" if opts[:environment]
9
- cmd << " -a #{opts[:app]}" if opts[:app]
10
- cmd << " -c #{opts[:account]}" if opts[:account]
11
- cmd << " --verbose" if opts[:verbose]
7
+ cmd = ["rollback"]
8
+ cmd << "-e" << opts[:environment] if opts[:environment]
9
+ cmd << "-a" << opts[:app] if opts[:app]
10
+ cmd << "-c" << opts[:account] if opts[:account]
11
+ cmd << "--verbose" if opts[:verbose]
12
12
  cmd
13
13
  end
14
14
 
@@ -23,7 +23,7 @@ describe "ey rollback" do
23
23
 
24
24
  it "passes along the web server stack to engineyard-serverside" do
25
25
  api_scenario "one app, one environment"
26
- ey "rollback"
26
+ ey %w[rollback]
27
27
  @ssh_commands.last.should =~ /--stack nginx_mongrel/
28
28
  end
29
29
 
@@ -41,7 +41,7 @@ describe "ey rollback" do
41
41
  end
42
42
 
43
43
  it "passes the extra configuration to engineyard-serverside" do
44
- ey "rollback --extra-deploy-hook-options some:stuff more:crap"
44
+ ey %w[rollback --extra-deploy-hook-options some:stuff more:crap]
45
45
  extra_deploy_hook_options.should_not be_nil
46
46
  extra_deploy_hook_options['some'].should == 'stuff'
47
47
  extra_deploy_hook_options['more'].should == 'crap'
@@ -55,7 +55,7 @@ describe "ey rollback" do
55
55
  after { File.unlink("ey.yml") }
56
56
 
57
57
  it "overrides what's in ey.yml" do
58
- ey "rollback --extra-deploy-hook-options beer:esb"
58
+ ey %w[rollback --extra-deploy-hook-options beer:esb]
59
59
  extra_deploy_hook_options['beer'].should == 'esb'
60
60
  end
61
61
  end
data/spec/ey/ssh_spec.rb CHANGED
@@ -7,7 +7,13 @@ shared_examples_for "running ey ssh" do
7
7
  include Spec::Helpers::SharedIntegrationTestUtils
8
8
 
9
9
  def extra_ey_options
10
- {:prepend_to_path => {'ssh' => "#!/bin/sh\necho ssh $*"}}
10
+ ssh_cmd = <<-RUBY
11
+ #!#{`which ruby`}
12
+ require "rubygems"
13
+ require "escape"
14
+ puts "ssh \#{Escape.shell_command(ARGV)}"
15
+ RUBY
16
+ {:prepend_to_path => {'ssh' => ssh_cmd}}
11
17
  end
12
18
  end
13
19
 
@@ -20,9 +26,8 @@ shared_examples_for "running ey ssh for select role" do
20
26
  end
21
27
 
22
28
  def command_to_run(opts)
23
- cmd = "ssh #{opts[:ssh_command]}"
24
- cmd << " #{@ssh_flag}"
25
- cmd << " --environment #{opts[:environment]}" if opts[:environment]
29
+ cmd = ["ssh", opts[:ssh_command]].compact + (@ssh_flag || [])
30
+ cmd << "--environment" << opts[:environment] if opts[:environment]
26
31
  cmd
27
32
  end
28
33
 
@@ -60,7 +65,7 @@ describe "ey ssh" do
60
65
  end
61
66
 
62
67
  it "complains if it has no app master" do
63
- ey "ssh -e bakon", :expect_failure => true
68
+ ey %w[ssh -e bakon], :expect_failure => true
64
69
  @err.should =~ /'bakon' does not have any matching instances/
65
70
  end
66
71
 
@@ -68,7 +73,7 @@ end
68
73
 
69
74
  describe "ey ssh with an ambiguous git repo" do
70
75
  it_should_behave_like "running ey ssh"
71
- def command_to_run(_) "ssh ls" end
76
+ def command_to_run(_) %w[ssh ls] end
72
77
  it_should_behave_like "it requires an unambiguous git repo"
73
78
  end
74
79
 
@@ -76,9 +81,9 @@ describe "ey ssh without a command" do
76
81
  it_should_behave_like "running ey ssh"
77
82
 
78
83
  def command_to_run(opts)
79
- cmd = "ssh"
80
- cmd << " --environment #{opts[:environment]}" if opts[:environment]
81
- cmd << " --account #{opts[:account]}" if opts[:account]
84
+ cmd = ["ssh"]
85
+ cmd << "--environment" << opts[:environment] if opts[:environment]
86
+ cmd << "--account" << opts[:account] if opts[:account]
82
87
  cmd
83
88
  end
84
89
 
@@ -94,9 +99,9 @@ describe "ey ssh with a command" do
94
99
  it_should_behave_like "running ey ssh"
95
100
 
96
101
  def command_to_run(opts)
97
- cmd = "ssh ls"
98
- cmd << " --environment #{opts[:environment]}" if opts[:environment]
99
- cmd << " --account #{opts[:account]}" if opts[:account]
102
+ cmd = %w[ssh ls]
103
+ cmd << "--environment" << opts[:environment] if opts[:environment]
104
+ cmd << "--account" << opts[:account] if opts[:account]
100
105
  cmd
101
106
  end
102
107
 
@@ -108,9 +113,27 @@ describe "ey ssh with a command" do
108
113
  it_should_behave_like "it takes an environment name and an account name"
109
114
  end
110
115
 
116
+ describe "ey ssh with a multi-part command" do
117
+ it_should_behave_like "running ey ssh"
118
+
119
+ def command_to_run(opts)
120
+ cmd = ['ssh', 'echo "echo"']
121
+ cmd << "--environment" << opts[:environment] if opts[:environment]
122
+ cmd << "--account" << opts[:account] if opts[:account]
123
+ cmd
124
+ end
125
+
126
+ def verify_ran(scenario)
127
+ ssh_target = scenario[:ssh_username] + '@' + scenario[:master_hostname]
128
+ @raw_ssh_commands.should == ["ssh #{ssh_target} 'echo \"echo\"'"]
129
+ end
130
+
131
+ it_should_behave_like "it takes an environment name and an account name"
132
+ end
133
+
111
134
  describe "ey ssh --all" do
112
135
  before do
113
- @ssh_flag = "--all"
136
+ @ssh_flag = %w[--all]
114
137
  @hosts = %w(app_hostname
115
138
  app_master_hostname
116
139
  util_fluffy_hostname
@@ -126,7 +149,7 @@ end
126
149
 
127
150
  describe "ey ssh --app-servers" do
128
151
  before do
129
- @ssh_flag = "--app-servers"
152
+ @ssh_flag = %w[--app-servers]
130
153
  @hosts = %w(app_hostname app_master_hostname)
131
154
  end
132
155
 
@@ -136,7 +159,7 @@ end
136
159
 
137
160
  describe "ey ssh --db-master" do
138
161
  before do
139
- @ssh_flag = "--db-master"
162
+ @ssh_flag = %w[--db-master]
140
163
  @hosts = %w(db_master_hostname)
141
164
  end
142
165
 
@@ -146,7 +169,7 @@ end
146
169
 
147
170
  describe "ey ssh --db-slaves" do
148
171
  before do
149
- @ssh_flag = "--db-slaves"
172
+ @ssh_flag = %w[--db-slaves]
150
173
  @hosts = %w(db_slave_1_hostname db_slave_2_hostname)
151
174
  end
152
175
 
@@ -156,7 +179,7 @@ end
156
179
 
157
180
  describe "ey ssh --db-servers" do
158
181
  before do
159
- @ssh_flag = "--db-servers"
182
+ @ssh_flag = %w[--db-servers]
160
183
  @hosts = %w(db_master_hostname db_slave_1_hostname db_slave_2_hostname)
161
184
  end
162
185
 
@@ -166,7 +189,7 @@ end
166
189
 
167
190
  describe "ey ssh --utilities" do
168
191
  before do
169
- @ssh_flag = "--utilities"
192
+ @ssh_flag = %w[--utilities]
170
193
  @hosts = %w(util_fluffy_hostname util_rocky_hostname)
171
194
  end
172
195
 
@@ -176,7 +199,7 @@ end
176
199
 
177
200
  describe "ey ssh --utilities fluffy" do
178
201
  before do
179
- @ssh_flag = "--utilities fluffy"
202
+ @ssh_flag = %w[--utilities fluffy]
180
203
  @hosts = %w(util_fluffy_hostname)
181
204
  end
182
205
 
@@ -186,7 +209,7 @@ end
186
209
 
187
210
  describe "ey ssh --utilities fluffy rocky" do
188
211
  before do
189
- @ssh_flag = "--utilities fluffy rocky"
212
+ @ssh_flag = %w[--utilities fluffy rocky]
190
213
  @hosts = %w(util_fluffy_hostname util_rocky_hostname)
191
214
  end
192
215
 
@@ -4,11 +4,11 @@ describe "ey web disable" do
4
4
  given "integration"
5
5
 
6
6
  def command_to_run(opts)
7
- cmd = "web disable"
8
- cmd << " -e #{opts[:environment]}" if opts[:environment]
9
- cmd << " -a #{opts[:app]}" if opts[:app]
10
- cmd << " -c #{opts[:account]}" if opts[:account]
11
- cmd << " --verbose" if opts[:verbose]
7
+ cmd = %w[web disable]
8
+ cmd << "-e" << opts[:environment] if opts[:environment]
9
+ cmd << "-a" << opts[:app] if opts[:app]
10
+ cmd << "-c" << opts[:account] if opts[:account]
11
+ cmd << "--verbose" if opts[:verbose]
12
12
  cmd
13
13
  end
14
14
 
@@ -4,11 +4,11 @@ describe "ey web enable" do
4
4
  given "integration"
5
5
 
6
6
  def command_to_run(opts)
7
- cmd = "web enable"
8
- cmd << " -e #{opts[:environment]}" if opts[:environment]
9
- cmd << " -a #{opts[:app]}" if opts[:app]
10
- cmd << " -c #{opts[:account]}" if opts[:account]
11
- cmd << " --verbose" if opts[:verbose]
7
+ cmd = %w[web enable]
8
+ cmd << "-e" << opts[:environment] if opts[:environment]
9
+ cmd << "-a" << opts[:app] if opts[:app]
10
+ cmd << "-c" << opts[:account] if opts[:account]
11
+ cmd << "--verbose" if opts[:verbose]
12
12
  cmd
13
13
  end
14
14
 
@@ -20,7 +20,7 @@ describe "ey web enable" do
20
20
  it_should_behave_like "it invokes engineyard-serverside"
21
21
 
22
22
  it "fails when given a bad option" do
23
- ey "web enable --lots --of --bogus --options", :expect_failure => true
23
+ ey %w[web enable --lots --of --bogus --options], :expect_failure => true
24
24
  @err.should include("Unknown switches")
25
25
  end
26
26
  end
data/spec/spec_helper.rb CHANGED
@@ -5,6 +5,7 @@ end
5
5
  EY_ROOT = File.expand_path("../..", __FILE__)
6
6
  require 'rubygems'
7
7
  require 'bundler/setup'
8
+ require 'escape'
8
9
 
9
10
  # Bundled gems
10
11
  require 'fakeweb'
@@ -69,7 +69,7 @@ module Spec
69
69
  $stdout = STDOUT
70
70
  end
71
71
 
72
- def ey(cmd = nil, options = {}, &block)
72
+ def ey(args = [], options = {}, &block)
73
73
  hide_err = options.has_key?(:hide_err) ? options[:hide_err] : options[:expect_failure]
74
74
  path_prepends = options[:prepend_to_path]
75
75
 
@@ -94,7 +94,7 @@ module Spec
94
94
  eybin = File.expand_path('../bundled_ey', __FILE__)
95
95
 
96
96
  with_env(ey_env) do
97
- exit_status = Open4::open4("#{eybin} #{cmd}") do |pid, stdin, stdout, stderr|
97
+ exit_status = Open4::open4("#{eybin} #{Escape.shell_command(args)}") do |pid, stdin, stdout, stderr|
98
98
  block.call(stdin) if block
99
99
  @err = stderr.read
100
100
  @out = stdout.read
@@ -110,7 +110,7 @@ shared_examples_for "it takes an environment name and an account name" do
110
110
 
111
111
  it "returns the error message to the user" do
112
112
  lambda do
113
- fast_ey(command_to_run({:environment => "giblets", :account => "main"}).split(" "))
113
+ fast_ey(command_to_run({:environment => "giblets", :account => "main"}))
114
114
  end.should raise_error(EY::Error, /400.*Important infos/)
115
115
  end
116
116
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: engineyard
3
3
  version: !ruby/object:Gem::Version
4
- hash: 5
5
- prerelease: false
4
+ hash: 59
5
+ prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 3
9
- - 15
10
- version: 1.3.15
9
+ - 16
10
+ version: 1.3.16
11
11
  platform: ruby
12
12
  authors:
13
13
  - EY Cloud Team
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-02-11 00:00:00 -08:00
18
+ date: 2011-02-16 00:00:00 -08:00
19
19
  default_executable: ey
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -30,10 +30,10 @@ dependencies:
30
30
  - 14
31
31
  - 6
32
32
  version: 0.14.6
33
- requirement: *id001
33
+ prerelease: false
34
34
  type: :runtime
35
+ requirement: *id001
35
36
  name: thor
36
- prerelease: false
37
37
  - !ruby/object:Gem::Dependency
38
38
  version_requirements: &id002 !ruby/object:Gem::Requirement
39
39
  none: false
@@ -46,10 +46,10 @@ dependencies:
46
46
  - 6
47
47
  - 0
48
48
  version: 1.6.0
49
- requirement: *id002
49
+ prerelease: false
50
50
  type: :runtime
51
+ requirement: *id002
51
52
  name: rest-client
52
- prerelease: false
53
53
  - !ruby/object:Gem::Dependency
54
54
  version_requirements: &id003 !ruby/object:Gem::Requirement
55
55
  none: false
@@ -62,10 +62,10 @@ dependencies:
62
62
  - 6
63
63
  - 1
64
64
  version: 1.6.1
65
- requirement: *id003
65
+ prerelease: false
66
66
  type: :runtime
67
+ requirement: *id003
67
68
  name: highline
68
- prerelease: false
69
69
  - !ruby/object:Gem::Dependency
70
70
  version_requirements: &id004 !ruby/object:Gem::Requirement
71
71
  none: false
@@ -76,10 +76,10 @@ dependencies:
76
76
  segments:
77
77
  - 0
78
78
  version: "0"
79
- requirement: *id004
79
+ prerelease: false
80
80
  type: :runtime
81
+ requirement: *id004
81
82
  name: json_pure
82
- prerelease: false
83
83
  - !ruby/object:Gem::Dependency
84
84
  version_requirements: &id005 !ruby/object:Gem::Requirement
85
85
  none: false
@@ -92,10 +92,10 @@ dependencies:
92
92
  - 0
93
93
  - 4
94
94
  version: 0.0.4
95
- requirement: *id005
95
+ prerelease: false
96
96
  type: :runtime
97
+ requirement: *id005
97
98
  name: escape
98
- prerelease: false
99
99
  - !ruby/object:Gem::Dependency
100
100
  version_requirements: &id006 !ruby/object:Gem::Requirement
101
101
  none: false
@@ -108,26 +108,160 @@ dependencies:
108
108
  - 4
109
109
  - 0
110
110
  version: 1.4.0
111
- requirement: *id006
111
+ prerelease: false
112
112
  type: :runtime
113
+ requirement: *id006
113
114
  name: engineyard-serverside-adapter
114
- prerelease: false
115
115
  - !ruby/object:Gem::Dependency
116
116
  version_requirements: &id007 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - ~>
120
120
  - !ruby/object:Gem::Version
121
- hash: 33
121
+ hash: 11
122
122
  segments:
123
123
  - 2
124
+ - 1
124
125
  - 0
125
- - 23
126
- version: 2.0.23
127
- requirement: *id007
126
+ version: 2.1.0
127
+ prerelease: false
128
128
  type: :runtime
129
+ requirement: *id007
129
130
  name: net-ssh
131
+ - !ruby/object:Gem::Dependency
132
+ version_requirements: &id008 !ruby/object:Gem::Requirement
133
+ none: false
134
+ requirements:
135
+ - - "="
136
+ - !ruby/object:Gem::Version
137
+ hash: 27
138
+ segments:
139
+ - 1
140
+ - 3
141
+ - 0
142
+ version: 1.3.0
143
+ prerelease: false
144
+ type: :development
145
+ requirement: *id008
146
+ name: rspec
147
+ - !ruby/object:Gem::Dependency
148
+ version_requirements: &id009 !ruby/object:Gem::Requirement
149
+ none: false
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ hash: 3
154
+ segments:
155
+ - 0
156
+ version: "0"
157
+ prerelease: false
158
+ type: :development
159
+ requirement: *id009
160
+ name: rake
161
+ - !ruby/object:Gem::Dependency
162
+ version_requirements: &id010 !ruby/object:Gem::Requirement
163
+ none: false
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ hash: 3
168
+ segments:
169
+ - 0
170
+ version: "0"
171
+ prerelease: false
172
+ type: :development
173
+ requirement: *id010
174
+ name: fakeweb
175
+ - !ruby/object:Gem::Dependency
176
+ version_requirements: &id011 !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - ">="
180
+ - !ruby/object:Gem::Version
181
+ hash: 3
182
+ segments:
183
+ - 0
184
+ version: "0"
185
+ prerelease: false
186
+ type: :development
187
+ requirement: *id011
188
+ name: fakeweb-matcher
189
+ - !ruby/object:Gem::Dependency
190
+ version_requirements: &id012 !ruby/object:Gem::Requirement
191
+ none: false
192
+ requirements:
193
+ - - ">="
194
+ - !ruby/object:Gem::Version
195
+ hash: 3
196
+ segments:
197
+ - 0
198
+ version: "0"
199
+ prerelease: false
200
+ type: :development
201
+ requirement: *id012
202
+ name: fakefs
203
+ - !ruby/object:Gem::Dependency
204
+ version_requirements: &id013 !ruby/object:Gem::Requirement
205
+ none: false
206
+ requirements:
207
+ - - ~>
208
+ - !ruby/object:Gem::Version
209
+ hash: 23
210
+ segments:
211
+ - 1
212
+ - 0
213
+ - 0
214
+ version: 1.0.0
215
+ prerelease: false
216
+ type: :development
217
+ requirement: *id013
218
+ name: bundler
219
+ - !ruby/object:Gem::Dependency
220
+ version_requirements: &id014 !ruby/object:Gem::Requirement
221
+ none: false
222
+ requirements:
223
+ - - ">="
224
+ - !ruby/object:Gem::Version
225
+ hash: 3
226
+ segments:
227
+ - 0
228
+ version: "0"
229
+ prerelease: false
230
+ type: :development
231
+ requirement: *id014
232
+ name: sinatra
233
+ - !ruby/object:Gem::Dependency
234
+ version_requirements: &id015 !ruby/object:Gem::Requirement
235
+ none: false
236
+ requirements:
237
+ - - ~>
238
+ - !ruby/object:Gem::Version
239
+ hash: 23
240
+ segments:
241
+ - 0
242
+ - 1
243
+ - 6
244
+ version: 0.1.6
245
+ prerelease: false
246
+ type: :development
247
+ requirement: *id015
248
+ name: realweb
249
+ - !ruby/object:Gem::Dependency
250
+ version_requirements: &id016 !ruby/object:Gem::Requirement
251
+ none: false
252
+ requirements:
253
+ - - ~>
254
+ - !ruby/object:Gem::Version
255
+ hash: 21
256
+ segments:
257
+ - 1
258
+ - 0
259
+ - 1
260
+ version: 1.0.1
130
261
  prerelease: false
262
+ type: :development
263
+ requirement: *id016
264
+ name: open4
131
265
  description: This gem allows you to deploy your rails application to the Engine Yard cloud directly from the command line.
132
266
  email: cloud@engineyard.com
133
267
  executables:
@@ -139,7 +273,6 @@ extra_rdoc_files: []
139
273
  files:
140
274
  - bin/ey
141
275
  - lib/engineyard/api.rb
142
- - lib/engineyard/cli/#recipes.rb#
143
276
  - lib/engineyard/cli/api.rb
144
277
  - lib/engineyard/cli/recipes.rb
145
278
  - lib/engineyard/cli/ui.rb
@@ -240,7 +373,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
240
373
  requirements: []
241
374
 
242
375
  rubyforge_project:
243
- rubygems_version: 1.3.7
376
+ rubygems_version: 1.5.0
244
377
  signing_key:
245
378
  specification_version: 3
246
379
  summary: Command-line deployment for the Engine Yard cloud
@@ -1,32 +0,0 @@
1
- module EY
2
- class CLI
3
- class Recipes < EY::Thor
4
- X1gx1GGG desc "recipes apply [ENVIRONMENT]", <<-DESC
5
- Run uploaded chef recipes on specified environment.
6
-
7
- This is similar to '#{banner_base} rebuild' except Engine Yard's main
8
- configuration step is skipped.
9
- DESC
10
-
11
- def apply(name = nil)
12
- environment = fetch_environment(name)
13
- environment.run_custom_recipes
14
- EY.ui.say "Uploaded recipes started for #{environment.name}"
15
- end
16
-
17
- desc "recipes upload [ENVIRONMENT]", <<-DESC
18
- Upload custom chef recipes to specified environment.
19
-
20
- The current directory should contain a subdirectory named "cookbooks" to be
21
- uploaded.
22
- DESC
23
-
24
- def upload(name = nil)
25
- environment = fetch_environment(name)
26
- environment.upload_recipes
27
- EY.ui.say "Recipes uploaded successfully for #{environment.name}"
28
- end
29
- end
30
- end
31
-
32
- end