webbynode 1.0.5.3 → 1.1.0.beta1

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.

Potentially problematic release.


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

Files changed (63) hide show
  1. data/.autotest +1 -0
  2. data/.bundle/config +2 -0
  3. data/.gitignore +4 -0
  4. data/.rvmrc +1 -0
  5. data/.travis.yml +9 -0
  6. data/Gemfile +1 -20
  7. data/Gemfile.lock +43 -50
  8. data/Manifest +0 -1
  9. data/Rakefile +1 -45
  10. data/bin/webbynode +0 -0
  11. data/bin/wn +0 -0
  12. data/lib/webbynode/api_client.rb +35 -63
  13. data/lib/webbynode/command.rb +2 -1
  14. data/lib/webbynode/commands/accounts.rb +11 -8
  15. data/lib/webbynode/commands/change_dns.rb +1 -1
  16. data/lib/webbynode/commands/database.rb +7 -7
  17. data/lib/webbynode/commands/dns_aliases.rb +6 -6
  18. data/lib/webbynode/commands/{guides.rb → docs.rb} +3 -2
  19. data/lib/webbynode/commands/help.rb +3 -3
  20. data/lib/webbynode/commands/init.rb +16 -16
  21. data/lib/webbynode/commands/push.rb +7 -7
  22. data/lib/webbynode/commands/remote.rb +1 -1
  23. data/lib/webbynode/commands/settings.rb +1 -1
  24. data/lib/webbynode/commands/tasks.rb +3 -3
  25. data/lib/webbynode/commands/user.rb +5 -5
  26. data/lib/webbynode/commands/version.rb +1 -1
  27. data/lib/webbynode/commands/webbies.rb +17 -22
  28. data/lib/webbynode/manager2_api_client.rb +94 -0
  29. data/lib/webbynode/manager_api_client.rb +94 -0
  30. data/lib/webbynode/models/webby.rb +3 -0
  31. data/lib/webbynode/notify.rb +1 -1
  32. data/lib/webbynode/server.rb +1 -1
  33. data/lib/webbynode/updater.rb +28 -8
  34. data/lib/webbynode/version.rb +8 -0
  35. data/lib/webbynode.rb +5 -5
  36. data/script/console +10 -0
  37. data/script/destroy +14 -0
  38. data/script/generate +14 -0
  39. data/spec/fixtures/manager2/webbies +11 -0
  40. data/spec/fixtures/manager2/webbies_unauthorized +10 -0
  41. data/spec/fixtures/manager2/zones +11 -0
  42. data/spec/fixtures/manager2/zones_a_record +11 -0
  43. data/spec/fixtures/manager2/zones_a_record_error +10 -0
  44. data/spec/fixtures/manager2/zones_new_zone +11 -0
  45. data/spec/spec_helper.rb +1 -0
  46. data/spec/webbynode/api_client_spec.rb +15 -128
  47. data/spec/webbynode/command_spec.rb +6 -0
  48. data/spec/webbynode/commands/accounts_spec.rb +10 -4
  49. data/spec/webbynode/commands/apps_spec.rb +1 -0
  50. data/spec/webbynode/commands/database_spec.rb +4 -1
  51. data/spec/webbynode/commands/{guides_spec.rb → docs_spec.rb} +2 -2
  52. data/spec/webbynode/commands/init_spec.rb +27 -64
  53. data/spec/webbynode/commands/push_spec.rb +29 -15
  54. data/spec/webbynode/commands/remote_spec.rb +2 -0
  55. data/spec/webbynode/commands/version_spec.rb +1 -1
  56. data/spec/webbynode/commands/webbies_spec.rb +17 -2
  57. data/spec/webbynode/manager2_api_client_spec.rb +127 -0
  58. data/spec/webbynode/manager_api_client_spec.rb +136 -0
  59. data/webbynode.gemspec +30 -49
  60. metadata +297 -127
  61. data/PostInstall.txt +0 -45
  62. data/changelog.rdoc +0 -437
  63. data/cucumber.yml.old +0 -1
@@ -0,0 +1,127 @@
1
+ # Load Spec Helper
2
+ require File.join(File.expand_path(File.dirname(__FILE__)), '..', 'spec_helper')
3
+
4
+ describe Webbynode::Manager2ApiClient do
5
+ let(:base_uri) { Webbynode::Manager2ApiClient.base_uri }
6
+ let(:api) { Webbynode::Manager2ApiClient.new }
7
+
8
+ before(:each) do
9
+ FakeWeb.clean_registry
10
+ end
11
+
12
+ describe "#create_record" do
13
+ it "should create the domain, when inexistent" do
14
+ api.should_receive(:zones).and_return({})
15
+ api.should_receive(:create_zone).with("newdomain.com").and_return({'id' => 20})
16
+ api.should_receive(:create_a_record).with(20, "new", "212.10.20.10", "new.newdomain.com")
17
+
18
+ api.create_record("new.newdomain.com", "212.10.20.10")
19
+ end
20
+
21
+ it "should retrieve the domains, when inexistent" do
22
+ api.should_receive(:zones).and_return({"mydomain.com.br" => {'id' => 21}})
23
+ api.should_receive(:create_a_record).with(21, "new", "212.10.20.10", "new.mydomain.com.br")
24
+
25
+ api.create_record("new.mydomain.com.br", "212.10.20.10")
26
+ end
27
+ end
28
+
29
+ describe "#zones" do
30
+ it "should return all the zones" do
31
+ FakeWeb.register_uri(:get, "#{Webbynode::Manager2ApiClient.base_uri}/zones.json?auth_token=",
32
+ :email => "fcoury@me.com", :response => read_fixture("manager2/zones"))
33
+
34
+ api.should_receive(:init_credentials).and_return({:email => "fcoury@me.com", :token => "apitoken"})
35
+ api.zones["rubyista.info"]['name'].should == "rubyista.info"
36
+ api.zones["webbyapp.com"]['name'].should == "webbyapp.com"
37
+ end
38
+ end
39
+
40
+ describe "#create_zone" do
41
+ it "should create a new zone and a new A record" do
42
+ FakeWeb.register_uri(:post, "#{Webbynode::Manager2ApiClient.base_uri}/zones.json",
43
+ :email => "fcoury@me.com", :response => read_fixture("manager2/zones"))
44
+
45
+ FakeWeb.register_uri(:post,
46
+ "#{Webbynode::Manager2ApiClient.base_uri}/zones.json?zone[name]=newzone.com.",
47
+ :email => "fcoury@me.com", :response => read_fixture("manager2/zones_new_zone"))
48
+
49
+ api.should_receive(:init_credentials).and_return({:email => "fcoury@me.com", :token => "apitoken"})
50
+ api.create_zone("newzone.com.")['id'].should == 22
51
+ end
52
+ end
53
+
54
+ describe "#create_a_record" do
55
+ before do
56
+ FakeWeb.register_uri(:post, "#{Webbynode::Manager2ApiClient.base_uri}/zones.json?auth_token=",
57
+ :email => "fcoury@me.com", :response => read_fixture("manager2/zones"))
58
+ end
59
+
60
+ it "should create a new A record" do
61
+ FakeWeb.register_uri(:post,
62
+ "#{Webbynode::Manager2ApiClient.base_uri}/zones/14/records.json",
63
+ :email => "fcoury@me.com", :response => read_fixture("manager2/zones_a_record"))
64
+
65
+ api.should_receive(:init_credentials).and_return({:email => "fcoury@me.com", :token => "apitoken"})
66
+ api.create_a_record(14, "xyz", "200.100.200.100", "xyz.rubyista.info")['id'].should == 32
67
+ end
68
+
69
+ it "raise an exception upon errors" do
70
+ FakeWeb.register_uri(:post, "#{Webbynode::Manager2ApiClient.base_uri}/zones/14/records.json",
71
+ :email => "fcoury@me.com", :response => read_fixture("manager2/zones_a_record_error"))
72
+
73
+ api.should_receive(:init_credentials).and_return({:email => "fcoury@me.com", :token => "apitoken"})
74
+ lambda {
75
+ api.create_a_record(14, "xyz", "200.100.200.100", "xyz.rubyista.info")
76
+ }.should raise_error(Webbynode::Manager2ApiClient::ApiError, "this domain was not found under your account")
77
+ end
78
+ end
79
+
80
+ describe "#ip_for" do
81
+ describe "when file ~/.webbynode is absent" do
82
+ it "should call init_credentials email address and API token" do
83
+ FakeWeb.register_uri(:get, "#{base_uri}/webbies.json?auth_token=",
84
+ :email => "fcoury@me.com", :response => read_fixture("manager2/webbies"))
85
+
86
+ api.should_receive(:init_credentials).and_return({:email => "fcoury@me.com", :token => "apitoken"})
87
+ api.ip_for("webby6203.webbyapp.com").should == "192.168.183.200"
88
+ end
89
+
90
+ it "should return the correct ip" do
91
+ FakeWeb.register_uri(:get, "#{base_uri}/webbies.json?auth_token=",
92
+ :email => "fcoury@me.com", :response => read_fixture("manager2/webbies"))
93
+
94
+ api.should_receive(:init_credentials).and_return({:email => "fcoury@me.com", :token => "apitoken"})
95
+ api.ip_for("sandbox.webbyapp.com").should == "201.81.121.201"
96
+ end
97
+ end
98
+
99
+ describe "when file ~/.webbynode is present" do
100
+ before do
101
+ FakeWeb.register_uri(:get, "#{base_uri}/webbies.json?auth_token=",
102
+ :email => "fcoury@me.com", :response => read_fixture("manager2/webbies"))
103
+ end
104
+
105
+ it "should return the IP for existing Webby hostname" do
106
+ api.should_receive(:credentials).and_return({:email => "fcoury@me.com", :token => "apitoken"})
107
+ api.ip_for("sandbox.webbyapp.com").should == "201.81.121.201"
108
+ end
109
+
110
+ it "should show an error message if the Webby does not exist for the user" do
111
+ api.should_receive(:credentials).and_return({:email => "fcoury@me.com", :token => "apitoken"})
112
+ api.ip_for("this_doesnt_exist").nil?.should == true
113
+ end
114
+ end
115
+ end
116
+
117
+ describe "when unauthorized" do
118
+ it "should raise an error" do
119
+ FakeWeb.register_uri(:get, "#{base_uri}/webbies.json?auth_token=",
120
+ :email => "fcoury@me.com", :response => read_fixture("manager2/webbies_unauthorized"))
121
+
122
+ api = Webbynode::Manager2ApiClient.new
123
+ api.should_receive(:credentials).and_return({:email => "fcoury@me.com"})
124
+ lambda { api.ip_for("sandbox") }.should raise_error(Webbynode::Manager2ApiClient::Unauthorized, "You have provided the wrong credentials")
125
+ end
126
+ end
127
+ end
@@ -0,0 +1,136 @@
1
+ # Load Spec Helper
2
+ require File.join(File.expand_path(File.dirname(__FILE__)), '..', 'spec_helper')
3
+
4
+ describe Webbynode::ManagerApiClient do
5
+ let(:base_uri) { Webbynode::ManagerApiClient.base_uri }
6
+ let(:api) { Webbynode::ManagerApiClient.new }
7
+
8
+ before(:each) do
9
+ FakeWeb.clean_registry
10
+ end
11
+
12
+ describe "#create_record" do
13
+ it "should raise an exception if the domain is inactive" do
14
+ api.should_receive(:zones).and_return({"another.com." => {:id => 21, :status => "Inactive"}})
15
+ api.should_receive(:create_zone).never
16
+ api.should_receive(:create_a_record).never
17
+
18
+ lambda { api.create_record("yes.another.com", "10.0.0.0") }.should raise_error(Webbynode::ManagerApiClient::InactiveZone, "another.com.")
19
+ end
20
+
21
+ it "should create the domain, when inexistent" do
22
+ api.should_receive(:zones).and_return({})
23
+ api.should_receive(:create_zone).with("newdomain.com.").and_return({:id => 20, :status => 'Active'})
24
+ api.should_receive(:create_a_record).with(20, "new", "212.10.20.10", "new.newdomain.com")
25
+
26
+ api.create_record("new.newdomain.com", "212.10.20.10")
27
+ end
28
+
29
+ it "should retrieve the domains, when inexistent" do
30
+ api.should_receive(:zones).and_return({"mydomain.com.br." => {:id => 21, :status => 'Active'}})
31
+ api.should_receive(:create_a_record).with(21, "new", "212.10.20.10", "new.mydomain.com.br")
32
+
33
+ api.create_record("new.mydomain.com.br", "212.10.20.10")
34
+ end
35
+ end
36
+
37
+ describe "#zones" do
38
+ it "should return all the zones" do
39
+ FakeWeb.register_uri(:post, "#{Webbynode::ManagerApiClient.base_uri}/dns",
40
+ :email => "fcoury@me.com", :response => read_fixture("api/dns"))
41
+
42
+ api.should_receive(:init_credentials).and_return({:email => "fcoury@me.com", :token => "apitoken"})
43
+ api.zones["rubyista.info."][:domain].should == "rubyista.info."
44
+ api.zones["webbyapp.com."][:domain].should == "webbyapp.com."
45
+ end
46
+ end
47
+
48
+ describe "#create_zone" do
49
+ it "should create a new zone and a new A record" do
50
+ FakeWeb.register_uri(:post, "#{Webbynode::ManagerApiClient.base_uri}/dns",
51
+ :email => "fcoury@me.com", :response => read_fixture("api/dns"))
52
+
53
+ FakeWeb.register_uri(:post,
54
+ "#{Webbynode::ManagerApiClient.base_uri}/dns/new?zone[ttl]=86400&zone[domain]=newzone.com.",
55
+ :email => "fcoury@me.com", :response => read_fixture("api/dns_new_zone"))
56
+
57
+ api.should_receive(:init_credentials).and_return({:email => "fcoury@me.com", :token => "apitoken"})
58
+ api.create_zone("newzone.com.")[:id].should == 1045
59
+ end
60
+ end
61
+
62
+ describe "#create_a_record" do
63
+ it "should create a new A record" do
64
+ FakeWeb.register_uri(:post, "#{Webbynode::ManagerApiClient.base_uri}/dns",
65
+ :email => "fcoury@me.com", :response => read_fixture("api/dns"))
66
+
67
+ FakeWeb.register_uri(:post,
68
+ "#{Webbynode::ManagerApiClient.base_uri}/dns/14/records/new?record[data]=200.100.200.100&record[type]=A&record[name]=xyz",
69
+ :email => "fcoury@me.com", :response => read_fixture("api/dns_a_record"))
70
+
71
+ api.should_receive(:init_credentials).and_return({:email => "fcoury@me.com", :token => "apitoken"})
72
+ api.create_a_record(14, "xyz", "200.100.200.100", "xyz.rubyista.info")[:id].should == 7360
73
+ end
74
+
75
+ it "raise an exception upon errors" do
76
+ FakeWeb.register_uri(:post, "#{Webbynode::ManagerApiClient.base_uri}/dns",
77
+ :email => "fcoury@me.com", :response => read_fixture("api/dns"))
78
+
79
+ FakeWeb.register_uri(:post, "#{Webbynode::ManagerApiClient.base_uri}/dns/14/records/new?record[data]=200.100.200.100&record[type]=A&record[name]=xyz",
80
+ :email => "fcoury@me.com", :response => read_fixture("api/dns_a_record_error"))
81
+
82
+ api.should_receive(:init_credentials).and_return({:email => "fcoury@me.com", :token => "apitoken"})
83
+ lambda {
84
+ api.create_a_record(14, "xyz", "200.100.200.100", "xyz.rubyista.info")
85
+ }.should raise_error(Webbynode::ManagerApiClient::ApiError, "No DNS entry for id 99999")
86
+ end
87
+ end
88
+
89
+ describe "#ip_for" do
90
+ describe "when file ~/.webbynode is absent" do
91
+ it "should call init_credentials email address and API token" do
92
+ FakeWeb.register_uri(:post, "#{base_uri}/webbies",
93
+ :email => "fcoury@me.com", :response => read_fixture("api/webbies"))
94
+
95
+ api.should_receive(:init_credentials).and_return({:email => "fcoury@me.com", :token => "apitoken", :system => "manager"})
96
+ api.ip_for("webby3067").should == "61.21.71.31"
97
+ end
98
+
99
+ it "should return the correct ip" do
100
+ FakeWeb.register_uri(:post, "#{base_uri}/webbies",
101
+ :email => "fcoury@me.com", :response => read_fixture("api/webbies"))
102
+
103
+ api.should_receive(:init_credentials).and_return({:email => "fcoury@me.com", :token => "apitoken"})
104
+ api.ip_for("sandbox").should == "201.81.121.201"
105
+ end
106
+ end
107
+
108
+ describe "when file ~/.webbynode is present" do
109
+ before do
110
+ FakeWeb.register_uri(:post, "#{base_uri}/webbies",
111
+ :email => "fcoury@me.com", :response => read_fixture("api/webbies"))
112
+ end
113
+
114
+ it "should return the IP for existing Webby hostname" do
115
+ api.should_receive(:credentials).and_return({:email => "fcoury@me.com", :token => "apitoken"})
116
+ api.ip_for("sandbox").should == "201.81.121.201"
117
+ end
118
+
119
+ it "should show an error message if the Webby does not exist for the user" do
120
+ api.should_receive(:credentials).and_return({:email => "fcoury@me.com", :token => "apitoken"})
121
+ api.ip_for("this_doesnt_exist").nil?.should == true
122
+ end
123
+ end
124
+ end
125
+
126
+ describe "when unauthorized" do
127
+ it "should raise an error" do
128
+ FakeWeb.register_uri(:post, "#{base_uri}/webbies",
129
+ :email => "fcoury@me.com", :response => read_fixture("api/webbies_unauthorized"))
130
+
131
+ api = Webbynode::ManagerApiClient.new
132
+ api.should_receive(:credentials).and_return({:email => "fcoury@me.com"})
133
+ lambda { api.ip_for("sandbox") }.should raise_error(Webbynode::ManagerApiClient::Unauthorized, "You have provided the wrong credentials")
134
+ end
135
+ end
136
+ end
data/webbynode.gemspec CHANGED
@@ -1,55 +1,36 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "webbynode/version"
2
4
 
3
5
  Gem::Specification.new do |s|
4
- s.name = "webbynode"
5
- s.version = "1.0.5.3"
6
+ s.name = "webbynode"
7
+ s.version = Webbynode::Version::STRING
8
+ s.authors = ["Felipe Coury"]
9
+ s.email = ["felipe.coury@gmail.com"]
10
+ s.homepage = "http://webbynode.com"
11
+ s.summary = "Webbynode rapid application deployment tool"
12
+ s.description = s.summary
6
13
 
7
- s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
- s.authors = ["Felipe Coury"]
9
- s.date = "2013-01-15"
10
- s.description = "Webbynode Deployment Gem"
11
- s.email = "felipe@webbynode.com"
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/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/dns_aliases.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/dns_aliases.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/dns_aliases_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
- s.homepage = "http://webbynode.com"
16
- s.post_install_message = "\n-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n Webbynode Rapid Deployment Gem\n-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n\nThank you for installing Webbynode gem. You're now\nable to deploy and manage your applications from\nthe comfort of your command line.\n\nPlease read our guide for a quickstart:\nhttp://guides.webbynode.com/articles/rapidapps/\n\nFor more information use the commands:\nwn help\nwn guides\n\n"
17
- s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Webbynode", "--main", "README.rdoc"]
18
- s.require_paths = ["lib"]
19
- s.rubyforge_project = "webbynode"
20
- s.rubygems_version = "1.8.24"
21
- s.summary = "Webbynode Deployment Gem"
22
-
23
- if s.respond_to? :specification_version then
24
- s.specification_version = 3
14
+ s.add_dependency "domainatrix" , "~> 0.0.7"
15
+ s.add_dependency "highline" , "~> 1.6.1"
16
+ s.add_dependency "httparty" , "~> 0.7.4"
17
+ s.add_dependency "net-ssh" , "2.1.0"
18
+ s.add_dependency "sqlite3" , "~> 1.3.4"
19
+ s.add_dependency "taps" , "~> 0.3.23"
20
+ s.add_dependency "webbynode-rainbow" , "~> 1.1.3"
21
+ s.add_development_dependency "autotest-growl" , "~> 0.2.9"
22
+ s.add_development_dependency "awesome_print" , "~> 0.3.2"
23
+ s.add_development_dependency "fakeweb" , "~> 1.3.0"
24
+ s.add_development_dependency "guard" , "~> 0.3.0"
25
+ s.add_development_dependency "guard-rspec" , "~> 0.1.9"
26
+ s.add_development_dependency "rb-fsevent" , "~> 0.9.2"
27
+ s.add_development_dependency "rake" , "~> 10.0.2"
28
+ s.add_development_dependency "rcov" , "~> 0.9.9"
29
+ s.add_development_dependency "rspec" , "~> 2.12.0"
30
+ s.add_development_dependency "ZenTest" , "~> 4.5.0"
25
31
 
26
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
27
- s.add_runtime_dependency(%q<bundler>, [">= 0.9.26"])
28
- s.add_runtime_dependency(%q<net-ssh>, ["= 2.1.0"])
29
- s.add_runtime_dependency(%q<taps>, ["~> 0.3.19"])
30
- s.add_runtime_dependency(%q<highline>, [">= 1.5.2"])
31
- s.add_runtime_dependency(%q<httparty>, ["~> 0.7.4"])
32
- s.add_runtime_dependency(%q<launchy>, [">= 0.3.7"])
33
- s.add_runtime_dependency(%q<domainatrix>, [">= 0.0.7"])
34
- s.add_runtime_dependency(%q<webbynode-rainbow>, ["~> 1.1.3"])
35
- else
36
- s.add_dependency(%q<bundler>, [">= 0.9.26"])
37
- s.add_dependency(%q<net-ssh>, ["= 2.1.0"])
38
- s.add_dependency(%q<taps>, ["~> 0.3.19"])
39
- s.add_dependency(%q<highline>, [">= 1.5.2"])
40
- s.add_dependency(%q<httparty>, ["~> 0.7.4"])
41
- s.add_dependency(%q<launchy>, [">= 0.3.7"])
42
- s.add_dependency(%q<domainatrix>, [">= 0.0.7"])
43
- s.add_dependency(%q<webbynode-rainbow>, ["~> 1.1.3"])
44
- end
45
- else
46
- s.add_dependency(%q<bundler>, [">= 0.9.26"])
47
- s.add_dependency(%q<net-ssh>, ["= 2.1.0"])
48
- s.add_dependency(%q<taps>, ["~> 0.3.19"])
49
- s.add_dependency(%q<highline>, [">= 1.5.2"])
50
- s.add_dependency(%q<httparty>, ["~> 0.7.4"])
51
- s.add_dependency(%q<launchy>, [">= 0.3.7"])
52
- s.add_dependency(%q<domainatrix>, [">= 0.0.7"])
53
- s.add_dependency(%q<webbynode-rainbow>, ["~> 1.1.3"])
54
- end
32
+ s.files = `git ls-files`.split("\n")
33
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
34
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
35
+ s.require_paths = ["lib"]
55
36
  end