shelly 0.4.5 → 0.4.6
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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +5 -0
- data/lib/shelly/app.rb +10 -1
- data/lib/shelly/templates/Cloudfile.erb +4 -1
- data/lib/shelly/version.rb +1 -1
- data/spec/shelly/app_spec.rb +47 -2
- data/spec/shelly/cli/main_spec.rb +9 -0
- data/spec/shelly/cloudfile_spec.rb +8 -2
- metadata +29 -63
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 9806b19fb3c19741be321f7b85b0b5907d6b397c
|
4
|
+
data.tar.gz: 60dc5f079fc9aa5d658232e1b5af5eb8a2cba919
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 44b83e991d63f0b091d12c392c605170c80bb370f166e827c9d2605a35ba004ddc8dc94ff85862d021410608e51d6cbe5719ed5c66679835c4f7f5b7518db1c8
|
7
|
+
data.tar.gz: c7192c598ec6e85faafb4a7981c4d4c685f742f24738793ab7b528ed63730522af4fe150295ba16f5da13f1fdc1b6408b5c4fd942965a1368631c82b574f2bd1
|
data/CHANGELOG.md
CHANGED
data/lib/shelly/app.rb
CHANGED
@@ -53,7 +53,16 @@ module Shelly
|
|
53
53
|
end
|
54
54
|
|
55
55
|
def remove_git_remote
|
56
|
-
|
56
|
+
remote = git_remote_name
|
57
|
+
if remote.present?
|
58
|
+
system("git remote rm #{remote} > /dev/null 2>&1")
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
def git_remote_name
|
63
|
+
io = IO.popen("git remote -v").readlines
|
64
|
+
remote = io.select {|line| line.include? git_info["repository_url"]}.first
|
65
|
+
remote.split("\t").first unless remote.nil?
|
57
66
|
end
|
58
67
|
|
59
68
|
def create
|
@@ -19,8 +19,11 @@
|
|
19
19
|
<%- if @puma -%>
|
20
20
|
puma: <%= @puma %>
|
21
21
|
<%- end -%>
|
22
|
-
# whenever: on
|
23
22
|
# delayed_job: 1
|
23
|
+
# sidekiq: 1
|
24
|
+
# clockwork: on
|
25
|
+
# whenever: on
|
26
|
+
# elasticsearch: on
|
24
27
|
databases:
|
25
28
|
<%- if @databases.present? -%>
|
26
29
|
<%- @databases.each do |kind| -%>
|
data/lib/shelly/version.rb
CHANGED
data/spec/shelly/app_spec.rb
CHANGED
@@ -34,14 +34,14 @@ describe Shelly::App do
|
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
37
|
-
describe "git_fetch_remote" do
|
37
|
+
describe "#git_fetch_remote" do
|
38
38
|
it "should try to remove existing git remote" do
|
39
39
|
@app.should_receive(:system).with("git fetch shelly > /dev/null 2>&1")
|
40
40
|
@app.git_fetch_remote
|
41
41
|
end
|
42
42
|
end
|
43
43
|
|
44
|
-
describe "git_remote_exist" do
|
44
|
+
describe "#git_remote_exist?" do
|
45
45
|
it "should return true if git remote exist" do
|
46
46
|
io = mock(:read => "origin\nshelly")
|
47
47
|
IO.should_receive(:popen).with("git remote").and_return(io)
|
@@ -49,6 +49,51 @@ describe Shelly::App do
|
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
52
|
+
describe "#remove_git_remote" do
|
53
|
+
context "when git remote exist" do
|
54
|
+
it "should remove git remote" do
|
55
|
+
@app.should_receive(:system).with("git remote rm remote > /dev/null 2>&1")
|
56
|
+
@app.should_receive(:git_remote_name).and_return("remote")
|
57
|
+
@app.remove_git_remote
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
context "when git remote does not exist" do
|
62
|
+
it "should invoke git remote rm" do
|
63
|
+
@app.should_not_receive(:system)
|
64
|
+
@app.should_receive(:git_remote_name).and_return(nil)
|
65
|
+
@app.remove_git_remote
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
describe "#git_remote_name" do
|
71
|
+
before do
|
72
|
+
@client.stub(:app).
|
73
|
+
and_return("git_info" => {"repository_url" => "git_url"})
|
74
|
+
end
|
75
|
+
|
76
|
+
context "when remote exist" do
|
77
|
+
let(:io) { mock(:readlines => ["origin\turl\n",
|
78
|
+
"shelly\tgit_url\n"]) }
|
79
|
+
|
80
|
+
it "should return remote name" do
|
81
|
+
IO.should_receive(:popen).with("git remote -v").and_return(io)
|
82
|
+
@app.git_remote_name.should == "shelly"
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
context "when remote does not exist" do
|
87
|
+
let(:io) { mock(:readlines => ["origin\turl\n",
|
88
|
+
"shelly\turl\n"]) }
|
89
|
+
|
90
|
+
it "should return nil" do
|
91
|
+
IO.should_receive(:popen).with("git remote -v").and_return(io)
|
92
|
+
@app.git_remote_name.should be_nil
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
52
97
|
describe "#configs" do
|
53
98
|
it "should get configs from client" do
|
54
99
|
@client.should_receive(:app_configs).with("foo-staging").and_return(config_response)
|
@@ -1150,6 +1150,7 @@ Wait until cloud is in 'turned off' state and try again.")
|
|
1150
1150
|
@app.stub(:delete)
|
1151
1151
|
Shelly::User.stub(:new).and_return(@user)
|
1152
1152
|
Shelly::App.stub(:new).and_return(@app)
|
1153
|
+
@client.stub(:app).and_return("git_info" => {"repository_url" => "git_url"})
|
1153
1154
|
end
|
1154
1155
|
|
1155
1156
|
it "should ensure user has logged in" do
|
@@ -1197,6 +1198,14 @@ Wait until cloud is in 'turned off' state and try again.")
|
|
1197
1198
|
end
|
1198
1199
|
}.should raise_error(SystemExit)
|
1199
1200
|
end
|
1201
|
+
|
1202
|
+
it "should remove git remote" do
|
1203
|
+
@app.should_receive(:remove_git_remote)
|
1204
|
+
@main.options = {:cloud => "foo-staging"}
|
1205
|
+
fake_stdin(["yes", "yes", "yes"]) do
|
1206
|
+
invoke(@main, :delete)
|
1207
|
+
end
|
1208
|
+
end
|
1200
1209
|
end
|
1201
1210
|
|
1202
1211
|
context "when git repository doesn't exist" do
|
@@ -120,8 +120,11 @@ foo-staging:
|
|
120
120
|
app1:
|
121
121
|
size: large
|
122
122
|
thin: 4
|
123
|
-
# whenever: on
|
124
123
|
# delayed_job: 1
|
124
|
+
# sidekiq: 1
|
125
|
+
# clockwork: on
|
126
|
+
# whenever: on
|
127
|
+
# elasticsearch: on
|
125
128
|
databases:
|
126
129
|
- postgresql
|
127
130
|
- mongodb
|
@@ -149,8 +152,11 @@ foo-staging:
|
|
149
152
|
app1:
|
150
153
|
size: small
|
151
154
|
thin: 2
|
152
|
-
# whenever: on
|
153
155
|
# delayed_job: 1
|
156
|
+
# sidekiq: 1
|
157
|
+
# clockwork: on
|
158
|
+
# whenever: on
|
159
|
+
# elasticsearch: on
|
154
160
|
databases:
|
155
161
|
- postgresql
|
156
162
|
- mongodb
|
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shelly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
5
|
-
prerelease:
|
4
|
+
version: 0.4.6
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Shelly Cloud team
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-10-01 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rspec
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,103 +27,90 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rake
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - '>='
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - '>='
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: guard
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - '>='
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - '>='
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: guard-rspec
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - '>='
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: '0'
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - '>='
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '0'
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: simplecov
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- -
|
73
|
+
- - '>='
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: '0'
|
86
76
|
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- -
|
80
|
+
- - '>='
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: '0'
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: fakefs
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
|
-
- -
|
87
|
+
- - '>='
|
100
88
|
- !ruby/object:Gem::Version
|
101
89
|
version: '0'
|
102
90
|
type: :development
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
|
-
- -
|
94
|
+
- - '>='
|
108
95
|
- !ruby/object:Gem::Version
|
109
96
|
version: '0'
|
110
97
|
- !ruby/object:Gem::Dependency
|
111
98
|
name: fakeweb
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
100
|
requirements:
|
115
|
-
- -
|
101
|
+
- - '>='
|
116
102
|
- !ruby/object:Gem::Version
|
117
103
|
version: '0'
|
118
104
|
type: :development
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
107
|
requirements:
|
123
|
-
- -
|
108
|
+
- - '>='
|
124
109
|
- !ruby/object:Gem::Version
|
125
110
|
version: '0'
|
126
111
|
- !ruby/object:Gem::Dependency
|
127
112
|
name: wijet-thor
|
128
113
|
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
114
|
requirements:
|
131
115
|
- - ~>
|
132
116
|
- !ruby/object:Gem::Version
|
@@ -134,7 +118,6 @@ dependencies:
|
|
134
118
|
type: :runtime
|
135
119
|
prerelease: false
|
136
120
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
121
|
requirements:
|
139
122
|
- - ~>
|
140
123
|
- !ruby/object:Gem::Version
|
@@ -142,81 +125,71 @@ dependencies:
|
|
142
125
|
- !ruby/object:Gem::Dependency
|
143
126
|
name: rest-client
|
144
127
|
requirement: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
128
|
requirements:
|
147
|
-
- -
|
129
|
+
- - '>='
|
148
130
|
- !ruby/object:Gem::Version
|
149
131
|
version: '0'
|
150
132
|
type: :runtime
|
151
133
|
prerelease: false
|
152
134
|
version_requirements: !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
135
|
requirements:
|
155
|
-
- -
|
136
|
+
- - '>='
|
156
137
|
- !ruby/object:Gem::Version
|
157
138
|
version: '0'
|
158
139
|
- !ruby/object:Gem::Dependency
|
159
140
|
name: json
|
160
141
|
requirement: !ruby/object:Gem::Requirement
|
161
|
-
none: false
|
162
142
|
requirements:
|
163
|
-
- -
|
143
|
+
- - '>='
|
164
144
|
- !ruby/object:Gem::Version
|
165
145
|
version: '0'
|
166
146
|
type: :runtime
|
167
147
|
prerelease: false
|
168
148
|
version_requirements: !ruby/object:Gem::Requirement
|
169
|
-
none: false
|
170
149
|
requirements:
|
171
|
-
- -
|
150
|
+
- - '>='
|
172
151
|
- !ruby/object:Gem::Version
|
173
152
|
version: '0'
|
174
153
|
- !ruby/object:Gem::Dependency
|
175
154
|
name: progressbar
|
176
155
|
requirement: !ruby/object:Gem::Requirement
|
177
|
-
none: false
|
178
156
|
requirements:
|
179
|
-
- -
|
157
|
+
- - '>='
|
180
158
|
- !ruby/object:Gem::Version
|
181
159
|
version: '0'
|
182
160
|
type: :runtime
|
183
161
|
prerelease: false
|
184
162
|
version_requirements: !ruby/object:Gem::Requirement
|
185
|
-
none: false
|
186
163
|
requirements:
|
187
|
-
- -
|
164
|
+
- - '>='
|
188
165
|
- !ruby/object:Gem::Version
|
189
166
|
version: '0'
|
190
167
|
- !ruby/object:Gem::Dependency
|
191
168
|
name: launchy
|
192
169
|
requirement: !ruby/object:Gem::Requirement
|
193
|
-
none: false
|
194
170
|
requirements:
|
195
|
-
- -
|
171
|
+
- - '>='
|
196
172
|
- !ruby/object:Gem::Version
|
197
173
|
version: '0'
|
198
174
|
type: :runtime
|
199
175
|
prerelease: false
|
200
176
|
version_requirements: !ruby/object:Gem::Requirement
|
201
|
-
none: false
|
202
177
|
requirements:
|
203
|
-
- -
|
178
|
+
- - '>='
|
204
179
|
- !ruby/object:Gem::Version
|
205
180
|
version: '0'
|
206
181
|
- !ruby/object:Gem::Dependency
|
207
182
|
name: netrc
|
208
183
|
requirement: !ruby/object:Gem::Requirement
|
209
|
-
none: false
|
210
184
|
requirements:
|
211
|
-
- -
|
185
|
+
- - '>='
|
212
186
|
- !ruby/object:Gem::Version
|
213
187
|
version: '0'
|
214
188
|
type: :runtime
|
215
189
|
prerelease: false
|
216
190
|
version_requirements: !ruby/object:Gem::Requirement
|
217
|
-
none: false
|
218
191
|
requirements:
|
219
|
-
- -
|
192
|
+
- - '>='
|
220
193
|
- !ruby/object:Gem::Version
|
221
194
|
version: '0'
|
222
195
|
description: Tool for managing applications and clouds at shellycloud.com
|
@@ -310,32 +283,25 @@ files:
|
|
310
283
|
homepage: http://shellycloud.com
|
311
284
|
licenses:
|
312
285
|
- MIT
|
286
|
+
metadata: {}
|
313
287
|
post_install_message:
|
314
288
|
rdoc_options: []
|
315
289
|
require_paths:
|
316
290
|
- lib
|
317
291
|
required_ruby_version: !ruby/object:Gem::Requirement
|
318
|
-
none: false
|
319
292
|
requirements:
|
320
|
-
- -
|
293
|
+
- - '>='
|
321
294
|
- !ruby/object:Gem::Version
|
322
295
|
version: '0'
|
323
|
-
segments:
|
324
|
-
- 0
|
325
|
-
hash: 74743708609339319
|
326
296
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
327
|
-
none: false
|
328
297
|
requirements:
|
329
|
-
- -
|
298
|
+
- - '>='
|
330
299
|
- !ruby/object:Gem::Version
|
331
300
|
version: '0'
|
332
|
-
segments:
|
333
|
-
- 0
|
334
|
-
hash: 74743708609339319
|
335
301
|
requirements: []
|
336
302
|
rubyforge_project: shelly
|
337
|
-
rubygems_version:
|
303
|
+
rubygems_version: 2.0.6
|
338
304
|
signing_key:
|
339
|
-
specification_version:
|
305
|
+
specification_version: 4
|
340
306
|
summary: Shelly Cloud command line tool
|
341
307
|
test_files: []
|