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.
- data/.autotest +1 -0
- data/.bundle/config +2 -0
- data/.gitignore +4 -0
- data/.rvmrc +1 -0
- data/.travis.yml +9 -0
- data/Gemfile +1 -20
- data/Gemfile.lock +43 -50
- data/Manifest +0 -1
- data/Rakefile +1 -45
- data/bin/webbynode +0 -0
- data/bin/wn +0 -0
- data/lib/webbynode/api_client.rb +35 -63
- data/lib/webbynode/command.rb +2 -1
- data/lib/webbynode/commands/accounts.rb +11 -8
- data/lib/webbynode/commands/change_dns.rb +1 -1
- data/lib/webbynode/commands/database.rb +7 -7
- data/lib/webbynode/commands/dns_aliases.rb +6 -6
- data/lib/webbynode/commands/{guides.rb → docs.rb} +3 -2
- data/lib/webbynode/commands/help.rb +3 -3
- data/lib/webbynode/commands/init.rb +16 -16
- data/lib/webbynode/commands/push.rb +7 -7
- data/lib/webbynode/commands/remote.rb +1 -1
- data/lib/webbynode/commands/settings.rb +1 -1
- data/lib/webbynode/commands/tasks.rb +3 -3
- data/lib/webbynode/commands/user.rb +5 -5
- data/lib/webbynode/commands/version.rb +1 -1
- data/lib/webbynode/commands/webbies.rb +17 -22
- data/lib/webbynode/manager2_api_client.rb +94 -0
- data/lib/webbynode/manager_api_client.rb +94 -0
- data/lib/webbynode/models/webby.rb +3 -0
- data/lib/webbynode/notify.rb +1 -1
- data/lib/webbynode/server.rb +1 -1
- data/lib/webbynode/updater.rb +28 -8
- data/lib/webbynode/version.rb +8 -0
- data/lib/webbynode.rb +5 -5
- data/script/console +10 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/spec/fixtures/manager2/webbies +11 -0
- data/spec/fixtures/manager2/webbies_unauthorized +10 -0
- data/spec/fixtures/manager2/zones +11 -0
- data/spec/fixtures/manager2/zones_a_record +11 -0
- data/spec/fixtures/manager2/zones_a_record_error +10 -0
- data/spec/fixtures/manager2/zones_new_zone +11 -0
- data/spec/spec_helper.rb +1 -0
- data/spec/webbynode/api_client_spec.rb +15 -128
- data/spec/webbynode/command_spec.rb +6 -0
- data/spec/webbynode/commands/accounts_spec.rb +10 -4
- data/spec/webbynode/commands/apps_spec.rb +1 -0
- data/spec/webbynode/commands/database_spec.rb +4 -1
- data/spec/webbynode/commands/{guides_spec.rb → docs_spec.rb} +2 -2
- data/spec/webbynode/commands/init_spec.rb +27 -64
- data/spec/webbynode/commands/push_spec.rb +29 -15
- data/spec/webbynode/commands/remote_spec.rb +2 -0
- data/spec/webbynode/commands/version_spec.rb +1 -1
- data/spec/webbynode/commands/webbies_spec.rb +17 -2
- data/spec/webbynode/manager2_api_client_spec.rb +127 -0
- data/spec/webbynode/manager_api_client_spec.rb +136 -0
- data/webbynode.gemspec +30 -49
- metadata +297 -127
- data/PostInstall.txt +0 -45
- data/changelog.rdoc +0 -437
- 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
|
5
|
-
s.version
|
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.
|
8
|
-
s.
|
9
|
-
s.
|
10
|
-
s.
|
11
|
-
s.
|
12
|
-
s.
|
13
|
-
s.
|
14
|
-
s.
|
15
|
-
s.
|
16
|
-
s.
|
17
|
-
s.
|
18
|
-
s.
|
19
|
-
s.
|
20
|
-
s.
|
21
|
-
s.
|
22
|
-
|
23
|
-
|
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
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
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
|