webbynode 1.0.5.beta2 → 1.0.5.beta3

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of webbynode might be problematic. Click here for more details.

@@ -12,23 +12,17 @@ describe Webbynode::Commands::Accounts do
12
12
  end
13
13
  end
14
14
 
15
- describe '#default' do
16
- subject { prepare nil }
17
-
18
- it "shows current account" do
19
- api.should_receive(:credentials).and_return({"email" => "fcoury@me.com", "token" => "apitoken"})
20
- io.should_receive(:log).with("Current account: fcoury@me.com")
21
- subject.execute
22
- end
23
- end
24
-
25
15
  describe '#list' do
16
+ let(:dir) { Webbynode::Io.home_dir }
26
17
  subject { prepare "list" }
27
18
 
28
19
  it "shows all available accounts" do
29
- io.should_receive(:list_files).with("#{Webbynode::Io.home_dir}/.webbynode_*").and_return(["#{Webbynode::Io.home_dir}/.webbynode_personal", "#{Webbynode::Io.home_dir}/.webbynode_biz"])
30
- io.should_receive(:log).with("personal")
31
- io.should_receive(:log).with("biz")
20
+ api.should_receive(:credentials).and_return({"email" => "fcoury@me.com", "token" => "apitoken"})
21
+ io.should_receive(:list_files).with("#{dir}/.webbynode_*").and_return(["#{dir}/.webbynode_personal", "#{dir}/.webbynode_biz"])
22
+ io.should_receive(:file_matches).with("#{dir}/.webbynode_personal", /email=fcoury@me.com/).and_return(true)
23
+ io.should_receive(:file_matches).with("#{dir}/.webbynode_biz", /email=fcoury@me.com/).and_return(false)
24
+ io.should_receive(:log).with("* personal")
25
+ io.should_receive(:log).with(" biz")
32
26
  subject.execute
33
27
  end
34
28
 
@@ -78,13 +72,14 @@ describe Webbynode::Commands::Accounts do
78
72
  it "renames the properties file" do
79
73
  io.should_receive(:file_exists?).with("#{Webbynode::Io.home_dir}/.webbynode_name").and_return(true)
80
74
  io.should_receive(:copy_file).with("#{Webbynode::Io.home_dir}/.webbynode_name", "#{Webbynode::Io.home_dir}/.webbynode")
75
+ io.should_receive(:log).with("Successfully switched to account alias name.")
81
76
  subject.execute
82
77
  end
83
78
 
84
79
  context "when file doesn't exist" do
85
80
  it "shows an error message" do
86
81
  io.should_receive(:file_exists?).with("#{Webbynode::Io.home_dir}/.webbynode_name").and_return(false)
87
- io.should_receive(:log).with("Account alias 'name' not found. Use 'wn account list' for a full list.")
82
+ io.should_receive(:log).with("Account alias name not found. Use wn account list for a full list.")
88
83
  subject.execute
89
84
  end
90
85
  end
@@ -111,9 +106,37 @@ describe Webbynode::Commands::Accounts do
111
106
  context "when account doesn't exist" do
112
107
  it "shows an error" do
113
108
  io.should_receive(:file_exists?).with("#{Webbynode::Io.home_dir}/.webbynode_name").and_return(false)
114
- io.should_receive(:log).with("Account alias 'name' not found. Use 'wn account list' for a full list.")
109
+ io.should_receive(:log).with("Account alias name not found. Use wn account list for a full list.")
115
110
  subject.execute
116
111
  end
117
112
  end
118
113
  end
114
+
115
+ describe '#rename' do
116
+ let(:dir) { Webbynode::Io.home_dir }
117
+ subject { prepare "rename", "old_name", "new_name" }
118
+
119
+ it "renames the .webbynode_xxx file" do
120
+ io.should_receive(:file_exists?).with("#{dir}/.webbynode_old_name").and_return(true)
121
+ io.should_receive(:file_exists?).with("#{dir}/.webbynode_new_name").and_return(false)
122
+ io.should_receive(:rename_file).with("#{dir}/.webbynode_old_name", "#{dir}/.webbynode_new_name")
123
+ io.should_receive(:log).with("Account alias old_name successfully renamed to new_name.")
124
+ subject.execute
125
+ end
126
+
127
+ it "raises an error if file doesn't exist" do
128
+ io.should_receive(:file_exists?).with("#{dir}/.webbynode_old_name").and_return(false)
129
+ io.should_receive(:rename_file).never
130
+ io.should_receive(:log).with(/not found/)
131
+ subject.execute
132
+ end
133
+
134
+ it "raises an error if target file already exist" do
135
+ io.should_receive(:file_exists?).with("#{dir}/.webbynode_old_name").and_return(true)
136
+ io.should_receive(:file_exists?).with("#{dir}/.webbynode_new_name").and_return(true)
137
+ io.should_receive(:rename_file).never
138
+ io.should_receive(:log).with("Account alias new_name already exists, use wn account delete to remove it first.")
139
+ subject.execute
140
+ end
141
+ end
119
142
  end
@@ -0,0 +1,106 @@
1
+ # Load Spec Helper
2
+ require File.join(File.expand_path(File.dirname(__FILE__)), '../..', 'spec_helper')
3
+
4
+ describe Webbynode::Commands::Database do
5
+ let(:io) { double("io").as_null_object }
6
+ let(:re) { double("re").as_null_object }
7
+ let(:git) { double("git").as_null_object }
8
+ let(:pa) { double("pushand").as_null_object }
9
+
10
+ def prepare(*params)
11
+ Webbynode::Commands::Database.new(*params).tap do |a|
12
+ a.stub(:io).and_return(io)
13
+ a.stub(:remote_executor).and_return(re)
14
+ a.stub(:git).and_return(git)
15
+ a.stub(:pushand).and_return(pa)
16
+ end
17
+ end
18
+
19
+ describe '#pull' do
20
+ subject { prepare "pull" }
21
+
22
+ it "asks the local database credentials and name" do
23
+ io.should_receive(:load_setting).with("database_name").and_return(nil)
24
+ io.should_receive(:load_setting).with("database_password").and_return(nil)
25
+
26
+ io.should_receive(:db_name).any_number_of_times.and_return("myapp")
27
+
28
+ subject.should_receive(:ask).with("Database name [myapp]: ").and_return("")
29
+ subject.should_receive(:ask).with(" User name [myapp]: ").and_return("")
30
+ subject.should_receive(:ask).with(" Password []: ").and_return("")
31
+ subject.should_receive(:ask).with("Save password (y/n)? ").and_return("y")
32
+
33
+ subject.ask_db_credentials
34
+ end
35
+
36
+ context "when user doesn't authorize" do
37
+ it "stores all data but password" do
38
+ io.should_receive(:load_setting).with("database_name").and_return(nil)
39
+ io.should_receive(:load_setting).with("database_password").and_return(nil)
40
+
41
+ io.should_receive(:db_name).any_number_of_times.and_return("myapp")
42
+
43
+ subject.should_receive(:ask).with("Database name [myapp]: ").and_return("")
44
+ subject.should_receive(:ask).with(" User name [myapp]: ").and_return("user")
45
+ subject.should_receive(:ask).with(" Password []: ").and_return("password")
46
+
47
+ io.should_receive(:add_setting).with("database_name", "myapp")
48
+ io.should_receive(:add_setting).with("database_user", "user")
49
+ io.should_receive(:add_setting).with("database_password", "password").never
50
+ subject.should_receive(:ask).with("Save password (y/n)? ").and_return("n")
51
+
52
+ subject.ask_db_credentials
53
+ end
54
+ end
55
+
56
+ context "when user authorizes" do
57
+ it "stores the password" do
58
+ io.should_receive(:load_setting).with("database_name").and_return(nil)
59
+ io.should_receive(:load_setting).with("database_password").and_return(nil)
60
+
61
+ io.should_receive(:db_name).any_number_of_times.and_return("myapp")
62
+
63
+ subject.should_receive(:ask).with("Database name [myapp]: ").and_return("")
64
+ subject.should_receive(:ask).with(" User name [myapp]: ").and_return("user")
65
+ subject.should_receive(:ask).with(" Password []: ").and_return("password")
66
+ subject.should_receive(:ask).with("Save password (y/n)? ").and_return("y")
67
+
68
+ io.should_receive(:add_setting).with("database_password", "password")
69
+
70
+ subject.ask_db_credentials
71
+ end
72
+ end
73
+
74
+ context "when password not stored" do
75
+ it "prompts for the password again" do
76
+ io.should_receive(:load_setting).with("database_password").and_return(nil)
77
+
78
+ io.should_receive(:load_setting).with("database_name").and_return("dbname")
79
+ io.should_receive(:load_setting).with("database_user").and_return("user")
80
+
81
+ subject.should_receive(:ask).with(" Password []: ").and_return("password")
82
+ subject.should_receive(:ask).with("Save password (y/n)? ").and_return("n")
83
+ subject.ask_db_credentials
84
+ end
85
+ end
86
+
87
+ context "when password is stored" do
88
+ it "doesn't prompt for password again" do
89
+ io.should_receive(:load_setting).with("database_password").and_return("password")
90
+
91
+ io.should_receive(:load_setting).with("database_name").and_return("dbname")
92
+ io.should_receive(:load_setting).with("database_user").and_return("user")
93
+
94
+ subject.should_receive(:ask).with(" Password []: ").never
95
+ subject.should_receive(:ask).with("Save password (y/n)? ").never
96
+ subject.ask_db_credentials
97
+ end
98
+ end
99
+
100
+ describe "#pull" do
101
+ it "executes taps" do
102
+
103
+ end
104
+ end
105
+ end
106
+ end
@@ -158,6 +158,7 @@ describe Webbynode::Commands::Init do
158
158
  io_handler.stub!(:add_to_git_ignore)
159
159
 
160
160
  Webbynode::Git.stub(:new).and_return(git_handler)
161
+ Webbynode::Io.stub(:new).and_return(mock("io").as_null_object)
161
162
 
162
163
  subject.stub!(:option).with(:engine).and_return('rails')
163
164
  subject.send(:detect_engine)
@@ -513,6 +514,7 @@ describe Webbynode::Commands::Init do
513
514
  @command.api.should_receive(:ask).with("API token: ").and_return("234def")
514
515
  @command.api.should_receive(:ask).with("Login email: ").and_return("abc123")
515
516
  @command.api.should_receive(:properties).any_number_of_times.and_return(props)
517
+ api.stub(:puts)
516
518
  @command.run
517
519
 
518
520
  stdout.should =~ /Couldn't find Webby 'my_webby_name' on your account. Your Webbies are/
@@ -25,6 +25,7 @@ describe Webbynode::Commands::Remote do
25
25
 
26
26
  it "should notify the user" do
27
27
  io.should_receive(:log).with("Executing remote command...")
28
+ remote.stub(:puts)
28
29
  remote.run
29
30
  end
30
31
 
@@ -54,7 +55,7 @@ describe Webbynode::Commands::Remote do
54
55
  load_all_mocks(remote)
55
56
  remote.stub(:validate_initialization)
56
57
  remote.stub(:validate_remote_application_availability)
57
-
58
+
58
59
  re.should_receive(:exec).with("cd webbynode; these are the params", false).and_return("something")
59
60
  remote.run
60
61
  end
@@ -62,6 +63,7 @@ describe Webbynode::Commands::Remote do
62
63
  it "should parse the pushand file for the application folder name on the remote server" do
63
64
  remote.stub(:validate_initialization)
64
65
  pushand.should_receive(:parse_remote_app_name).and_return("dummy_app")
66
+ remote.stub(:puts)
65
67
  remote.run
66
68
  end
67
69
 
@@ -0,0 +1,16 @@
1
+ # Load Spec Helper
2
+ require File.join(File.expand_path(File.dirname(__FILE__)), '../..', 'spec_helper')
3
+
4
+ describe Webbynode::Commands::Ssh do
5
+ let(:server) { double("server") }
6
+
7
+ subject do
8
+ Webbynode::Commands::Ssh.new
9
+ end
10
+
11
+ it "runs ssh using the git user" do
12
+ subject.should_receive(:server).and_return(server)
13
+ server.should_receive(:ssh)
14
+ subject.execute
15
+ end
16
+ end
@@ -150,11 +150,6 @@ describe Webbynode::Commands::Tasks do
150
150
  end
151
151
 
152
152
  context "should initialize the [add] or [remove] action, depending on user input" do
153
- it "should have a [add] and [remove] method availble" do
154
- task.private_methods.should include('add')
155
- task.private_methods.should include('remove')
156
- end
157
-
158
153
  it "should initialize the [add] method" do
159
154
  task.should_receive(:send).with('add')
160
155
  task.execute
@@ -11,6 +11,7 @@ describe Webbynode::Io do
11
11
 
12
12
  describe '#sed' do
13
13
  it 'replaces a regexp' do
14
+ pending "Missing fixture settings.py"
14
15
  text = read_fixture('settings.py')
15
16
  File.should_receive(:read).with('settings.template.py').and_return(text)
16
17
  File.should_receive(:open).with('settings.template.py', 'w').and_yield(file = double('File'))
@@ -44,6 +45,22 @@ describe Webbynode::Io do
44
45
  end
45
46
  end
46
47
 
48
+ describe '#db_name' do
49
+ context "when successful" do
50
+ it "should return the current folder" do
51
+ Dir.should_receive(:pwd).and_return("/some/deep/folder/where/you/find/app_name")
52
+ Webbynode::Io.new.db_name.should == "appname"
53
+ end
54
+
55
+ it "should transform dots and spaces into underscores" do
56
+ Dir.should_receive(:pwd).and_return("/some/deep/folder/where/you/find/my.app here")
57
+ Webbynode::Io.new.db_name.should == "myapphere"
58
+ end
59
+ end
60
+ end
61
+
62
+
63
+
47
64
  describe '#add_setting' do
48
65
  let(:io) { Webbynode::Io.new }
49
66
 
@@ -337,4 +354,22 @@ describe Webbynode::Io do
337
354
  cfg[:other].should == "rest"
338
355
  end
339
356
  end
357
+
358
+ describe '#rename_file' do
359
+ it "renames the file" do
360
+ File.should_receive(:rename).with("old", "new")
361
+ subject.rename_file "old", "new"
362
+ end
363
+ end
364
+
365
+ describe '#file_matches' do
366
+ before(:each) do
367
+ File.stub(:read).with('file').and_return("name = felipe\nage = 12")
368
+ end
369
+
370
+ it 'compares file contents against a regexp' do
371
+ subject.file_matches("file", /name = felipe/).should be_true
372
+ subject.file_matches("file", /name = paulo/).should be_false
373
+ end
374
+ end
340
375
  end
@@ -9,6 +9,13 @@ describe Webbynode::RemoteExecutor do
9
9
  end
10
10
  end
11
11
 
12
+ describe '#retrieve_db_password' do
13
+ it "retrieves the remote db password" do
14
+ subject.should_receive(:exec).with(%q(echo `cat /var/webbynode/templates/rails/database.yml | grep password: | tail -1 | cut -d ":" -f 2`)).and_return("password\n")
15
+ subject.retrieve_db_password.should == "password"
16
+ end
17
+ end
18
+
12
19
  describe "#new" do
13
20
  subject { Webbynode::RemoteExecutor.new("2.1.2.2", 'user', 2020) }
14
21
 
@@ -10,6 +10,14 @@ describe Webbynode::Server do
10
10
  Webbynode::Server.new("1.2.3.4", "git", 22).remote_executor.class.should == Webbynode::RemoteExecutor
11
11
  end
12
12
 
13
+ describe '#ssh' do
14
+ it "connects to the server" do
15
+ server = Webbynode::Server.new("1.2.3.4", "git", 22)
16
+ Kernel.should_receive(:exec).with("ssh -p 22 git@1.2.3.4")
17
+ server.ssh
18
+ end
19
+ end
20
+
13
21
  describe '#new' do
14
22
  it "creates an SSH connection with proper settings" do
15
23
  Webbynode::Ssh.should_receive(:new).with("1.2.3.4", "git", 22)
@@ -0,0 +1,95 @@
1
+ # Load Spec Helper
2
+ require File.join(File.expand_path(File.dirname(__FILE__)), '..', 'spec_helper')
3
+
4
+ describe Webbynode::Taps do
5
+ let(:io) { double("io").as_null_object }
6
+ let(:re) { double("re").as_null_object }
7
+
8
+ subject do
9
+ Webbynode::Taps.new("dbname", "password", io, re)
10
+ end
11
+
12
+ its(:database) { should == "dbname" }
13
+ its(:database_password) { should == "password" }
14
+ its(:io) { should == io }
15
+ its(:remote_executor) { should == re }
16
+
17
+ it "installs taps gem remotely, if missing"
18
+ it "detects taps already running"
19
+
20
+ describe '#start' do
21
+ it "starts a tap server" do
22
+ io.should_receive(:random_password).and_return("some_username")
23
+ io.should_receive(:random_password).and_return("some_password")
24
+
25
+ re.should_receive(:exec).with("bash -c 'nohup taps server mysql://dbname:password@localhost/dbname some_username some_password > /dev/null 2>&1 &\necho $!'").and_return("12145\n")
26
+
27
+ subject.start
28
+ subject.pid.should == "12145"
29
+ end
30
+
31
+ it "reports a failure in case the result is not a PID" do
32
+ re.should_receive(:exec).and_return("Bad credentials given for http://UIK7MgBLx3:[hidden]@174.122.137.2:5000")
33
+
34
+ lambda { subject.start }.should raise_error
35
+ end
36
+ end
37
+
38
+ describe '#pull' do
39
+ context "when started" do
40
+ before(:each) do
41
+ subject.stub(:user).and_return("user")
42
+ subject.stub(:password).and_return("password")
43
+ end
44
+
45
+ it "executes the pull command locally" do
46
+ taps_cli = double('taps')
47
+ ::Taps::Cli.stub(:new).and_return(taps_cli)
48
+
49
+ taps_cli.should_receive(:clientxfer).with(:pull,
50
+ :database_url => "mysql://local_user:local_password@localhost/local_db",
51
+ :remote_url => "http://user:password@1.1.2.2:5000")
52
+
53
+ subject.pull :user => "local_user",
54
+ :password => "local_password",
55
+ :database => "local_db",
56
+ :remote_ip => "1.1.2.2"
57
+ end
58
+
59
+ it "raises an error if pull fails" do
60
+ pending "find a better way to detect errors"
61
+ io.should_receive(:execute).and_return(1)
62
+
63
+ lambda { subject.pull({}) }.should raise_error
64
+ end
65
+ end
66
+
67
+ context "when not started" do
68
+ it "raises an error" do
69
+ lambda { subject.pull }.should raise_error
70
+ end
71
+ end
72
+ end
73
+
74
+ describe '#finish' do
75
+ before(:each) do
76
+ re.should_receive(:exec).with(/taps server/).and_return("1234\n")
77
+ subject.start
78
+ end
79
+
80
+ context "when successful" do
81
+ it "kills taps remotely" do
82
+ re.should_receive(:exec).with("kill -9 1234").and_return(0)
83
+ subject.finish
84
+ end
85
+ end
86
+
87
+ context "when unsuccessful" do
88
+ it "raises an error" do
89
+ pending "find a better way to detect errors"
90
+ re.should_receive(:exec).with("kill -9 1234").and_return(1)
91
+ lambda { subject.finish }.should raise_error
92
+ end
93
+ end
94
+ end
95
+ end
data/webbynode.gemspec CHANGED
@@ -2,16 +2,16 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{webbynode}
5
- s.version = "1.0.5.beta2"
5
+ s.version = "1.0.5.beta3"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Felipe Coury"]
9
- s.date = %q{2011-03-10}
9
+ s.date = %q{2011-04-12}
10
10
  s.description = %q{Webbynode Deployment Gem}
11
11
  s.email = %q{felipe@webbynode.com}
12
12
  s.executables = ["webbynode", "wn"]
13
- s.extra_rdoc_files = ["README.rdoc", "bin/webbynode", "bin/wn", "lib/templates/api_token", "lib/templates/backup", "lib/templates/gitignore", "lib/templates/help", "lib/webbynode.rb", "lib/webbynode/api_client.rb", "lib/webbynode/application.rb", "lib/webbynode/attribute_accessors.rb", "lib/webbynode/command.rb", "lib/webbynode/commands/accounts.rb", "lib/webbynode/commands/add_backup.rb", "lib/webbynode/commands/add_key.rb", "lib/webbynode/commands/addons.rb", "lib/webbynode/commands/alias.rb", "lib/webbynode/commands/apps.rb", "lib/webbynode/commands/authorize_root.rb", "lib/webbynode/commands/change_dns.rb", "lib/webbynode/commands/config.rb", "lib/webbynode/commands/console.rb", "lib/webbynode/commands/delete.rb", "lib/webbynode/commands/guides.rb", "lib/webbynode/commands/help.rb", "lib/webbynode/commands/init.rb", "lib/webbynode/commands/logs.rb", "lib/webbynode/commands/open.rb", "lib/webbynode/commands/push.rb", "lib/webbynode/commands/remote.rb", "lib/webbynode/commands/restart.rb", "lib/webbynode/commands/settings.rb", "lib/webbynode/commands/start.rb", "lib/webbynode/commands/stop.rb", "lib/webbynode/commands/tasks.rb", "lib/webbynode/commands/user.rb", "lib/webbynode/commands/version.rb", "lib/webbynode/commands/webbies.rb", "lib/webbynode/engines/all.rb", "lib/webbynode/engines/django.rb", "lib/webbynode/engines/engine.rb", "lib/webbynode/engines/html.rb", "lib/webbynode/engines/nodejs.rb", "lib/webbynode/engines/php.rb", "lib/webbynode/engines/rack.rb", "lib/webbynode/engines/rails.rb", "lib/webbynode/engines/rails3.rb", "lib/webbynode/engines/wsgi.rb", "lib/webbynode/gemfile.rb", "lib/webbynode/git.rb", "lib/webbynode/io.rb", "lib/webbynode/notify.rb", "lib/webbynode/option.rb", "lib/webbynode/parameter.rb", "lib/webbynode/properties.rb", "lib/webbynode/push_and.rb", "lib/webbynode/remote_executor.rb", "lib/webbynode/server.rb", "lib/webbynode/ssh.rb", "lib/webbynode/ssh_keys.rb", "lib/webbynode/trial.rb", "lib/webbynode/updater.rb"]
14
- s.files = ["Gemfile", "Gemfile.lock", "Guardfile", "Manifest", "PostInstall.txt", "README.rdoc", "Rakefile", "assets/webbynode.png", "autotest/discover.rb", "bin/webbynode", "bin/wn", "changelog.rdoc", "cucumber.yml.old", "inactive_features/bootstrap.feature", "inactive_features/step_definitions/command_steps.rb", "inactive_features/support/env.rb", "inactive_features/support/hooks.rb", "inactive_features/support/io_features.rb", "inactive_features/support/mocha.rb", "lib/templates/api_token", "lib/templates/backup", "lib/templates/gitignore", "lib/templates/help", "lib/webbynode.rb", "lib/webbynode/api_client.rb", "lib/webbynode/application.rb", "lib/webbynode/attribute_accessors.rb", "lib/webbynode/command.rb", "lib/webbynode/commands/accounts.rb", "lib/webbynode/commands/add_backup.rb", "lib/webbynode/commands/add_key.rb", "lib/webbynode/commands/addons.rb", "lib/webbynode/commands/alias.rb", "lib/webbynode/commands/apps.rb", "lib/webbynode/commands/authorize_root.rb", "lib/webbynode/commands/change_dns.rb", "lib/webbynode/commands/config.rb", "lib/webbynode/commands/console.rb", "lib/webbynode/commands/delete.rb", "lib/webbynode/commands/guides.rb", "lib/webbynode/commands/help.rb", "lib/webbynode/commands/init.rb", "lib/webbynode/commands/logs.rb", "lib/webbynode/commands/open.rb", "lib/webbynode/commands/push.rb", "lib/webbynode/commands/remote.rb", "lib/webbynode/commands/restart.rb", "lib/webbynode/commands/settings.rb", "lib/webbynode/commands/start.rb", "lib/webbynode/commands/stop.rb", "lib/webbynode/commands/tasks.rb", "lib/webbynode/commands/user.rb", "lib/webbynode/commands/version.rb", "lib/webbynode/commands/webbies.rb", "lib/webbynode/engines/all.rb", "lib/webbynode/engines/django.rb", "lib/webbynode/engines/engine.rb", "lib/webbynode/engines/html.rb", "lib/webbynode/engines/nodejs.rb", "lib/webbynode/engines/php.rb", "lib/webbynode/engines/rack.rb", "lib/webbynode/engines/rails.rb", "lib/webbynode/engines/rails3.rb", "lib/webbynode/engines/wsgi.rb", "lib/webbynode/gemfile.rb", "lib/webbynode/git.rb", "lib/webbynode/io.rb", "lib/webbynode/notify.rb", "lib/webbynode/option.rb", "lib/webbynode/parameter.rb", "lib/webbynode/properties.rb", "lib/webbynode/push_and.rb", "lib/webbynode/remote_executor.rb", "lib/webbynode/server.rb", "lib/webbynode/ssh.rb", "lib/webbynode/ssh_keys.rb", "lib/webbynode/trial.rb", "lib/webbynode/updater.rb", "spec/fixtures/aliases", "spec/fixtures/api/credentials", "spec/fixtures/api/dns", "spec/fixtures/api/dns_a_record", "spec/fixtures/api/dns_a_record_already_exists", "spec/fixtures/api/dns_a_record_error", "spec/fixtures/api/dns_new_zone", "spec/fixtures/api/webbies", "spec/fixtures/api/webbies_unauthorized", "spec/fixtures/api/webby", "spec/fixtures/commands/tasks/after_push", "spec/fixtures/fixture_helpers", "spec/fixtures/git/config/210.11.13.12", "spec/fixtures/git/config/67.23.79.31", "spec/fixtures/git/config/67.23.79.32", "spec/fixtures/git/config/config", "spec/fixtures/git/config/config_5", "spec/fixtures/git/config/new_210.11.13.12", "spec/fixtures/git/config/new_67.23.79.31", "spec/fixtures/git/config/new_67.23.79.32", "spec/fixtures/git/config/new_config", "spec/fixtures/git/status/clean", "spec/fixtures/git/status/dirty", "spec/fixtures/nodejs/server.js", "spec/fixtures/pushand", "spec/fixtures/trial/user_add", "spec/spec_helper.rb", "spec/webbynode/api_client_spec.rb", "spec/webbynode/application_spec.rb", "spec/webbynode/command_spec.rb", "spec/webbynode/commands/accounts_spec.rb", "spec/webbynode/commands/add_backup_spec.rb", "spec/webbynode/commands/add_key_spec.rb", "spec/webbynode/commands/addons_spec.rb", "spec/webbynode/commands/alias_spec.rb", "spec/webbynode/commands/apps_spec.rb", "spec/webbynode/commands/authorize_root_spec.rb", "spec/webbynode/commands/change_dns_spec.rb", "spec/webbynode/commands/config_spec.rb", "spec/webbynode/commands/console_spec.rb", "spec/webbynode/commands/delete_spec.rb", "spec/webbynode/commands/guides_spec.rb", "spec/webbynode/commands/help_spec.rb", "spec/webbynode/commands/init_spec.rb", "spec/webbynode/commands/logs_spec.rb", "spec/webbynode/commands/open_spec.rb", "spec/webbynode/commands/push_spec.rb", "spec/webbynode/commands/remote_spec.rb", "spec/webbynode/commands/settings_spec.rb", "spec/webbynode/commands/tasks_spec.rb", "spec/webbynode/commands/user_spec.rb", "spec/webbynode/commands/version_spec.rb", "spec/webbynode/commands/webbies_spec.rb", "spec/webbynode/engines/django_spec.rb", "spec/webbynode/engines/engine_spec.rb", "spec/webbynode/engines/html_spec.rb", "spec/webbynode/engines/nodejs_spec.rb", "spec/webbynode/engines/php_spec.rb", "spec/webbynode/engines/rack_spec.rb", "spec/webbynode/engines/rails3_spec.rb", "spec/webbynode/engines/rails_spec.rb", "spec/webbynode/engines/wsgi_spec.rb", "spec/webbynode/gemfile_spec.rb", "spec/webbynode/git_spec.rb", "spec/webbynode/io_spec.rb", "spec/webbynode/option_spec.rb", "spec/webbynode/parameter_spec.rb", "spec/webbynode/properties_spec.rb", "spec/webbynode/push_and_spec.rb", "spec/webbynode/remote_executor_spec.rb", "spec/webbynode/server_spec.rb", "spec/webbynode/ssh_spec.rb", "spec/webbynode/trial_spec.rb", "webbynode.gemspec"]
13
+ s.extra_rdoc_files = ["README.rdoc", "bin/webbynode", "bin/wn", "lib/templates/api_token", "lib/templates/backup", "lib/templates/gitignore", "lib/templates/help", "lib/webbynode.rb", "lib/webbynode/action_command.rb", "lib/webbynode/api_client.rb", "lib/webbynode/application.rb", "lib/webbynode/attribute_accessors.rb", "lib/webbynode/command.rb", "lib/webbynode/commands/accounts.rb", "lib/webbynode/commands/add_backup.rb", "lib/webbynode/commands/add_key.rb", "lib/webbynode/commands/addons.rb", "lib/webbynode/commands/alias.rb", "lib/webbynode/commands/apps.rb", "lib/webbynode/commands/authorize_root.rb", "lib/webbynode/commands/change_dns.rb", "lib/webbynode/commands/config.rb", "lib/webbynode/commands/console.rb", "lib/webbynode/commands/database.rb", "lib/webbynode/commands/delete.rb", "lib/webbynode/commands/guides.rb", "lib/webbynode/commands/help.rb", "lib/webbynode/commands/init.rb", "lib/webbynode/commands/logs.rb", "lib/webbynode/commands/open.rb", "lib/webbynode/commands/push.rb", "lib/webbynode/commands/remote.rb", "lib/webbynode/commands/restart.rb", "lib/webbynode/commands/settings.rb", "lib/webbynode/commands/ssh.rb", "lib/webbynode/commands/start.rb", "lib/webbynode/commands/stop.rb", "lib/webbynode/commands/tasks.rb", "lib/webbynode/commands/user.rb", "lib/webbynode/commands/version.rb", "lib/webbynode/commands/webbies.rb", "lib/webbynode/engines/all.rb", "lib/webbynode/engines/django.rb", "lib/webbynode/engines/engine.rb", "lib/webbynode/engines/html.rb", "lib/webbynode/engines/nodejs.rb", "lib/webbynode/engines/php.rb", "lib/webbynode/engines/rack.rb", "lib/webbynode/engines/rails.rb", "lib/webbynode/engines/rails3.rb", "lib/webbynode/engines/wsgi.rb", "lib/webbynode/gemfile.rb", "lib/webbynode/git.rb", "lib/webbynode/io.rb", "lib/webbynode/notify.rb", "lib/webbynode/option.rb", "lib/webbynode/parameter.rb", "lib/webbynode/properties.rb", "lib/webbynode/push_and.rb", "lib/webbynode/remote_executor.rb", "lib/webbynode/server.rb", "lib/webbynode/ssh.rb", "lib/webbynode/ssh_keys.rb", "lib/webbynode/taps.rb", "lib/webbynode/trial.rb", "lib/webbynode/updater.rb"]
14
+ s.files = ["Gemfile", "Gemfile.lock", "Guardfile", "Manifest", "PostInstall.txt", "README.rdoc", "Rakefile", "assets/webbynode.png", "autotest/discover.rb", "bin/webbynode", "bin/wn", "changelog.rdoc", "cucumber.yml.old", "inactive_features/bootstrap.feature", "inactive_features/step_definitions/command_steps.rb", "inactive_features/support/env.rb", "inactive_features/support/hooks.rb", "inactive_features/support/io_features.rb", "inactive_features/support/mocha.rb", "lib/templates/api_token", "lib/templates/backup", "lib/templates/gitignore", "lib/templates/help", "lib/webbynode.rb", "lib/webbynode/action_command.rb", "lib/webbynode/api_client.rb", "lib/webbynode/application.rb", "lib/webbynode/attribute_accessors.rb", "lib/webbynode/command.rb", "lib/webbynode/commands/accounts.rb", "lib/webbynode/commands/add_backup.rb", "lib/webbynode/commands/add_key.rb", "lib/webbynode/commands/addons.rb", "lib/webbynode/commands/alias.rb", "lib/webbynode/commands/apps.rb", "lib/webbynode/commands/authorize_root.rb", "lib/webbynode/commands/change_dns.rb", "lib/webbynode/commands/config.rb", "lib/webbynode/commands/console.rb", "lib/webbynode/commands/database.rb", "lib/webbynode/commands/delete.rb", "lib/webbynode/commands/guides.rb", "lib/webbynode/commands/help.rb", "lib/webbynode/commands/init.rb", "lib/webbynode/commands/logs.rb", "lib/webbynode/commands/open.rb", "lib/webbynode/commands/push.rb", "lib/webbynode/commands/remote.rb", "lib/webbynode/commands/restart.rb", "lib/webbynode/commands/settings.rb", "lib/webbynode/commands/ssh.rb", "lib/webbynode/commands/start.rb", "lib/webbynode/commands/stop.rb", "lib/webbynode/commands/tasks.rb", "lib/webbynode/commands/user.rb", "lib/webbynode/commands/version.rb", "lib/webbynode/commands/webbies.rb", "lib/webbynode/engines/all.rb", "lib/webbynode/engines/django.rb", "lib/webbynode/engines/engine.rb", "lib/webbynode/engines/html.rb", "lib/webbynode/engines/nodejs.rb", "lib/webbynode/engines/php.rb", "lib/webbynode/engines/rack.rb", "lib/webbynode/engines/rails.rb", "lib/webbynode/engines/rails3.rb", "lib/webbynode/engines/wsgi.rb", "lib/webbynode/gemfile.rb", "lib/webbynode/git.rb", "lib/webbynode/io.rb", "lib/webbynode/notify.rb", "lib/webbynode/option.rb", "lib/webbynode/parameter.rb", "lib/webbynode/properties.rb", "lib/webbynode/push_and.rb", "lib/webbynode/remote_executor.rb", "lib/webbynode/server.rb", "lib/webbynode/ssh.rb", "lib/webbynode/ssh_keys.rb", "lib/webbynode/taps.rb", "lib/webbynode/trial.rb", "lib/webbynode/updater.rb", "spec/fixtures/aliases", "spec/fixtures/api/credentials", "spec/fixtures/api/dns", "spec/fixtures/api/dns_a_record", "spec/fixtures/api/dns_a_record_already_exists", "spec/fixtures/api/dns_a_record_error", "spec/fixtures/api/dns_new_zone", "spec/fixtures/api/webbies", "spec/fixtures/api/webbies_unauthorized", "spec/fixtures/api/webby", "spec/fixtures/commands/tasks/after_push", "spec/fixtures/fixture_helpers", "spec/fixtures/git/config/210.11.13.12", "spec/fixtures/git/config/67.23.79.31", "spec/fixtures/git/config/67.23.79.32", "spec/fixtures/git/config/config", "spec/fixtures/git/config/config_5", "spec/fixtures/git/config/new_210.11.13.12", "spec/fixtures/git/config/new_67.23.79.31", "spec/fixtures/git/config/new_67.23.79.32", "spec/fixtures/git/config/new_config", "spec/fixtures/git/status/clean", "spec/fixtures/git/status/dirty", "spec/fixtures/nodejs/server.js", "spec/fixtures/pushand", "spec/fixtures/trial/user_add", "spec/spec_helper.rb", "spec/webbynode/api_client_spec.rb", "spec/webbynode/application_spec.rb", "spec/webbynode/command_spec.rb", "spec/webbynode/commands/accounts_spec.rb", "spec/webbynode/commands/add_backup_spec.rb", "spec/webbynode/commands/add_key_spec.rb", "spec/webbynode/commands/addons_spec.rb", "spec/webbynode/commands/alias_spec.rb", "spec/webbynode/commands/apps_spec.rb", "spec/webbynode/commands/authorize_root_spec.rb", "spec/webbynode/commands/change_dns_spec.rb", "spec/webbynode/commands/config_spec.rb", "spec/webbynode/commands/console_spec.rb", "spec/webbynode/commands/database_spec.rb", "spec/webbynode/commands/delete_spec.rb", "spec/webbynode/commands/guides_spec.rb", "spec/webbynode/commands/help_spec.rb", "spec/webbynode/commands/init_spec.rb", "spec/webbynode/commands/logs_spec.rb", "spec/webbynode/commands/open_spec.rb", "spec/webbynode/commands/push_spec.rb", "spec/webbynode/commands/remote_spec.rb", "spec/webbynode/commands/settings_spec.rb", "spec/webbynode/commands/ssh_spec.rb", "spec/webbynode/commands/tasks_spec.rb", "spec/webbynode/commands/user_spec.rb", "spec/webbynode/commands/version_spec.rb", "spec/webbynode/commands/webbies_spec.rb", "spec/webbynode/engines/django_spec.rb", "spec/webbynode/engines/engine_spec.rb", "spec/webbynode/engines/html_spec.rb", "spec/webbynode/engines/nodejs_spec.rb", "spec/webbynode/engines/php_spec.rb", "spec/webbynode/engines/rack_spec.rb", "spec/webbynode/engines/rails3_spec.rb", "spec/webbynode/engines/rails_spec.rb", "spec/webbynode/engines/wsgi_spec.rb", "spec/webbynode/gemfile_spec.rb", "spec/webbynode/git_spec.rb", "spec/webbynode/io_spec.rb", "spec/webbynode/option_spec.rb", "spec/webbynode/parameter_spec.rb", "spec/webbynode/properties_spec.rb", "spec/webbynode/push_and_spec.rb", "spec/webbynode/remote_executor_spec.rb", "spec/webbynode/server_spec.rb", "spec/webbynode/ssh_spec.rb", "spec/webbynode/taps_spec.rb", "spec/webbynode/trial_spec.rb", "webbynode.gemspec"]
15
15
  s.homepage = %q{http://webbynode.com}
16
16
  s.post_install_message = %q{
17
17
  -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
@@ -33,16 +33,16 @@ wn guides
33
33
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Webbynode", "--main", "README.rdoc"]
34
34
  s.require_paths = ["lib"]
35
35
  s.rubyforge_project = %q{webbynode}
36
- s.rubygems_version = %q{1.3.7}
36
+ s.rubygems_version = %q{1.6.2}
37
37
  s.summary = %q{Webbynode Deployment Gem}
38
38
 
39
39
  if s.respond_to? :specification_version then
40
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
41
40
  s.specification_version = 3
42
41
 
43
42
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
44
43
  s.add_runtime_dependency(%q<bundler>, [">= 0.9.26"])
45
44
  s.add_runtime_dependency(%q<net-ssh>, ["= 2.1.0"])
45
+ s.add_runtime_dependency(%q<taps>, ["~> 0.3.19"])
46
46
  s.add_runtime_dependency(%q<highline>, [">= 1.5.2"])
47
47
  s.add_runtime_dependency(%q<httparty>, [">= 0.4.5"])
48
48
  s.add_runtime_dependency(%q<launchy>, [">= 0.3.7"])
@@ -51,6 +51,7 @@ wn guides
51
51
  else
52
52
  s.add_dependency(%q<bundler>, [">= 0.9.26"])
53
53
  s.add_dependency(%q<net-ssh>, ["= 2.1.0"])
54
+ s.add_dependency(%q<taps>, ["~> 0.3.19"])
54
55
  s.add_dependency(%q<highline>, [">= 1.5.2"])
55
56
  s.add_dependency(%q<httparty>, [">= 0.4.5"])
56
57
  s.add_dependency(%q<launchy>, [">= 0.3.7"])
@@ -60,6 +61,7 @@ wn guides
60
61
  else
61
62
  s.add_dependency(%q<bundler>, [">= 0.9.26"])
62
63
  s.add_dependency(%q<net-ssh>, ["= 2.1.0"])
64
+ s.add_dependency(%q<taps>, ["~> 0.3.19"])
63
65
  s.add_dependency(%q<highline>, [">= 1.5.2"])
64
66
  s.add_dependency(%q<httparty>, [">= 0.4.5"])
65
67
  s.add_dependency(%q<launchy>, [">= 0.3.7"])