shelly 0.2.13 → 0.2.14

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.
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 0.2.14 / 2013-03-28
2
+
3
+ * [bug] Structure validator recognizes puma as allowed web server
4
+
1
5
  ## 0.2.13 / 2013-03-28
2
6
 
3
7
  * [improvement] More verbose output for redeploy, start and stop
@@ -33,9 +33,9 @@ module Shelly
33
33
 
34
34
  # Public: Check all requirements that app has to fulfill
35
35
  def valid?
36
- gemfile? && gemfile_lock? && gem?("thin") &&
37
- gem?("rake") && config_ru? && rakefile? &&
38
- task?("db:migrate") && task?("db:setup")
36
+ gemfile? && gemfile_lock? && gem?("rake") &&
37
+ (gem?("thin") || gem?("puma")) && config_ru? &&
38
+ rakefile? && task?("db:migrate") && task?("db:setup")
39
39
  end
40
40
 
41
41
  def invalid?
@@ -1,3 +1,3 @@
1
1
  module Shelly
2
- VERSION = "0.2.13"
2
+ VERSION = "0.2.14"
3
3
  end
@@ -9,14 +9,14 @@ describe Shelly::StructureValidator do
9
9
  describe "#gemfile?" do
10
10
  context "when Gemfile exists" do
11
11
  it "should return true" do
12
- @validator.gemfile?.should == true
12
+ @validator.gemfile?.should be_true
13
13
  end
14
14
  end
15
15
 
16
16
  context "when Gemfile doesn't exist" do
17
17
  it "should return false" do
18
18
  @validator.stub(:repo_paths => ["Gemfile.lock"])
19
- @validator.gemfile?.should == false
19
+ @validator.gemfile?.should be_false
20
20
  end
21
21
  end
22
22
  end
@@ -24,14 +24,14 @@ describe Shelly::StructureValidator do
24
24
  describe "#gemfile_lock?" do
25
25
  context "when Gemfile.lock exists" do
26
26
  it "should return true" do
27
- @validator.gemfile_lock?.should == true
27
+ @validator.gemfile_lock?.should be_true
28
28
  end
29
29
  end
30
30
 
31
31
  context "when Gemfile.lock doesn't exist" do
32
32
  it "should return false" do
33
33
  @validator.stub(:repo_paths => ["Gemfile"])
34
- @validator.gemfile_lock?.should == false
34
+ @validator.gemfile_lock?.should be_false
35
35
  end
36
36
  end
37
37
  end
@@ -39,14 +39,14 @@ describe Shelly::StructureValidator do
39
39
  describe "#config_ru?" do
40
40
  context "when config.ru exists" do
41
41
  it "should return true" do
42
- @validator.config_ru?.should == true
42
+ @validator.config_ru?.should be_true
43
43
  end
44
44
  end
45
45
 
46
46
  context "when config.ru doesn't exist" do
47
47
  it "should return false" do
48
48
  @validator.stub(:repo_paths => ["Gemfile.lock"])
49
- @validator.config_ru?.should == false
49
+ @validator.config_ru?.should be_false
50
50
  end
51
51
  end
52
52
  end
@@ -68,7 +68,6 @@ describe Shelly::StructureValidator do
68
68
 
69
69
  describe "#gem?" do
70
70
  before do
71
- @validator.stub(:gemfile? => true, :gemfile_lock? => true)
72
71
  Bundler::Definition.stub_chain(:build, :specs).and_return(
73
72
  [mock(:name => "thin"), mock(:name => "mysql")])
74
73
  end
@@ -98,8 +97,8 @@ describe Shelly::StructureValidator do
98
97
 
99
98
  describe "#task?" do
100
99
  before do
101
- @validator.should_receive(:'`').at_most(1).with("rake -P").and_return("rake db:migrate")
102
- @validator.stub(:rakefile? => true)
100
+ @validator.should_receive(:'`').at_most(1).with("rake -P") \
101
+ .and_return("rake db:migrate")
103
102
  end
104
103
 
105
104
  it "should return true if task is present" do
@@ -117,4 +116,73 @@ describe Shelly::StructureValidator do
117
116
  end
118
117
  end
119
118
  end
119
+
120
+ describe "#valid?" do
121
+ before do
122
+ @validator.stub(:tasks).and_return(["rake db:migrate", "rake db:setup"])
123
+ @validator.stub(:gems).and_return(["thin", "rake"])
124
+ end
125
+
126
+ context "when requirements are fulfilled" do
127
+ context "and 'thin' has been chosen as a web server" do
128
+ it "should return true" do
129
+ @validator.valid?.should be_true
130
+ end
131
+ end
132
+
133
+ context "and 'puma' has been chosen as a web server" do
134
+ it "should return true" do
135
+ @validator.stub(:gems).and_return(["puma", "rake"])
136
+ @validator.valid?.should be_true
137
+ end
138
+ end
139
+ end
140
+
141
+ context "when Gemfile doesn't exist" do
142
+ it "should return false" do
143
+ @validator.stub(:repo_paths => ["Gemfile.lock", "config.ru", "Rakefile"])
144
+ @validator.valid?.should be_false
145
+ end
146
+ end
147
+
148
+ context "when Gemfile.lock doesn't exist" do
149
+ it "should return false" do
150
+ @validator.stub(:repo_paths => ["Gemfile", "config.ru", "Rakefile"])
151
+ @validator.valid?.should be_false
152
+ end
153
+ end
154
+
155
+ context "when Rakefile doesn't exist" do
156
+ it "should return false" do
157
+ @validator.stub(:repo_paths => ["Gemfile", "Gemfile.lock", "config.ru"])
158
+ @validator.valid?.should be_false
159
+ end
160
+ end
161
+
162
+ context "when config.ru doesn't exist" do
163
+ it "should return false" do
164
+ @validator.stub(:repo_paths => ["Gemfile", "Gemfile.lock", "Rakefile"])
165
+ @validator.valid?.should be_false
166
+ end
167
+ end
168
+
169
+ context "when web server is missed" do
170
+ it "should return false" do
171
+ @validator.stub(:gems).and_return(["rake"])
172
+ @validator.valid?.should be_false
173
+ end
174
+ end
175
+
176
+ context "when task is missed" do
177
+ it "should return false if db:setup is missing" do
178
+ @validator.stub(:tasks).and_return(["rake db:migrate"])
179
+ @validator.valid?.should be_false
180
+ end
181
+
182
+ it "should return false if db:migrate is missing" do
183
+ @validator.stub(:tasks).and_return(["rake db:setup"])
184
+ @validator.valid?.should be_false
185
+ end
186
+ end
187
+ end
120
188
  end
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shelly
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.13
4
+ version: 0.2.14
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Shelly Cloud team
@@ -11,201 +12,197 @@ cert_chain: []
11
12
  date: 2013-03-28 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
15
+ name: rspec
14
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
15
18
  requirements:
16
19
  - - ~>
17
20
  - !ruby/object:Gem::Version
18
21
  version: 2.11.0
22
+ type: :development
23
+ prerelease: false
19
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
20
26
  requirements:
21
27
  - - ~>
22
28
  - !ruby/object:Gem::Version
23
29
  version: 2.11.0
24
- type: :development
25
- prerelease: false
26
- name: rspec
27
30
  - !ruby/object:Gem::Dependency
31
+ name: rake
28
32
  requirement: !ruby/object:Gem::Requirement
29
- requirements:
30
- - - ! '>='
31
- - !ruby/object:Gem::Version
32
- version: '0'
33
- version_requirements: !ruby/object:Gem::Requirement
33
+ none: false
34
34
  requirements:
35
35
  - - ! '>='
36
36
  - !ruby/object:Gem::Version
37
37
  version: '0'
38
38
  type: :development
39
39
  prerelease: false
40
- name: rake
41
- - !ruby/object:Gem::Dependency
42
- requirement: !ruby/object:Gem::Requirement
43
- requirements:
44
- - - ! '>='
45
- - !ruby/object:Gem::Version
46
- version: '0'
47
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
48
42
  requirements:
49
43
  - - ! '>='
50
44
  - !ruby/object:Gem::Version
51
45
  version: '0'
52
- type: :development
53
- prerelease: false
54
- name: guard
55
46
  - !ruby/object:Gem::Dependency
47
+ name: guard
56
48
  requirement: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - ! '>='
59
- - !ruby/object:Gem::Version
60
- version: '0'
61
- version_requirements: !ruby/object:Gem::Requirement
49
+ none: false
62
50
  requirements:
63
51
  - - ! '>='
64
52
  - !ruby/object:Gem::Version
65
53
  version: '0'
66
54
  type: :development
67
55
  prerelease: false
68
- name: guard-rspec
69
- - !ruby/object:Gem::Dependency
70
- requirement: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - ! '>='
73
- - !ruby/object:Gem::Version
74
- version: '0'
75
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
76
58
  requirements:
77
59
  - - ! '>='
78
60
  - !ruby/object:Gem::Version
79
61
  version: '0'
80
- type: :development
81
- prerelease: false
82
- name: simplecov
83
62
  - !ruby/object:Gem::Dependency
63
+ name: guard-rspec
84
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
85
66
  requirements:
86
67
  - - ! '>='
87
68
  - !ruby/object:Gem::Version
88
69
  version: '0'
70
+ type: :development
71
+ prerelease: false
89
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
90
74
  requirements:
91
75
  - - ! '>='
92
76
  - !ruby/object:Gem::Version
93
77
  version: '0'
94
- type: :development
95
- prerelease: false
96
- name: ruby_gntp
97
78
  - !ruby/object:Gem::Dependency
79
+ name: simplecov
98
80
  requirement: !ruby/object:Gem::Requirement
81
+ none: false
99
82
  requirements:
100
83
  - - ! '>='
101
84
  - !ruby/object:Gem::Version
102
85
  version: '0'
86
+ type: :development
87
+ prerelease: false
103
88
  version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
104
90
  requirements:
105
91
  - - ! '>='
106
92
  - !ruby/object:Gem::Version
107
93
  version: '0'
108
- type: :development
109
- prerelease: false
110
- name: rb-fsevent
111
94
  - !ruby/object:Gem::Dependency
95
+ name: fakefs
112
96
  requirement: !ruby/object:Gem::Requirement
97
+ none: false
113
98
  requirements:
114
99
  - - ! '>='
115
100
  - !ruby/object:Gem::Version
116
101
  version: '0'
102
+ type: :development
103
+ prerelease: false
117
104
  version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
118
106
  requirements:
119
107
  - - ! '>='
120
108
  - !ruby/object:Gem::Version
121
109
  version: '0'
122
- type: :development
123
- prerelease: false
124
- name: fakefs
125
110
  - !ruby/object:Gem::Dependency
111
+ name: fakeweb
126
112
  requirement: !ruby/object:Gem::Requirement
113
+ none: false
127
114
  requirements:
128
115
  - - ! '>='
129
116
  - !ruby/object:Gem::Version
130
117
  version: '0'
118
+ type: :development
119
+ prerelease: false
131
120
  version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
132
122
  requirements:
133
123
  - - ! '>='
134
124
  - !ruby/object:Gem::Version
135
125
  version: '0'
136
- type: :development
137
- prerelease: false
138
- name: fakeweb
139
126
  - !ruby/object:Gem::Dependency
127
+ name: wijet-thor
140
128
  requirement: !ruby/object:Gem::Requirement
129
+ none: false
141
130
  requirements:
142
131
  - - ~>
143
132
  - !ruby/object:Gem::Version
144
133
  version: 0.14.9
134
+ type: :runtime
135
+ prerelease: false
145
136
  version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
146
138
  requirements:
147
139
  - - ~>
148
140
  - !ruby/object:Gem::Version
149
141
  version: 0.14.9
150
- type: :runtime
151
- prerelease: false
152
- name: wijet-thor
153
142
  - !ruby/object:Gem::Dependency
143
+ name: rest-client
154
144
  requirement: !ruby/object:Gem::Requirement
145
+ none: false
155
146
  requirements:
156
147
  - - ! '>='
157
148
  - !ruby/object:Gem::Version
158
149
  version: '0'
150
+ type: :runtime
151
+ prerelease: false
159
152
  version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
160
154
  requirements:
161
155
  - - ! '>='
162
156
  - !ruby/object:Gem::Version
163
157
  version: '0'
164
- type: :runtime
165
- prerelease: false
166
- name: rest-client
167
158
  - !ruby/object:Gem::Dependency
159
+ name: json
168
160
  requirement: !ruby/object:Gem::Requirement
161
+ none: false
169
162
  requirements:
170
163
  - - ! '>='
171
164
  - !ruby/object:Gem::Version
172
165
  version: '0'
166
+ type: :runtime
167
+ prerelease: false
173
168
  version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
174
170
  requirements:
175
171
  - - ! '>='
176
172
  - !ruby/object:Gem::Version
177
173
  version: '0'
178
- type: :runtime
179
- prerelease: false
180
- name: json
181
174
  - !ruby/object:Gem::Dependency
175
+ name: progressbar
182
176
  requirement: !ruby/object:Gem::Requirement
177
+ none: false
183
178
  requirements:
184
179
  - - ! '>='
185
180
  - !ruby/object:Gem::Version
186
181
  version: '0'
182
+ type: :runtime
183
+ prerelease: false
187
184
  version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
188
186
  requirements:
189
187
  - - ! '>='
190
188
  - !ruby/object:Gem::Version
191
189
  version: '0'
192
- type: :runtime
193
- prerelease: false
194
- name: progressbar
195
190
  - !ruby/object:Gem::Dependency
191
+ name: launchy
196
192
  requirement: !ruby/object:Gem::Requirement
193
+ none: false
197
194
  requirements:
198
195
  - - ! '>='
199
196
  - !ruby/object:Gem::Version
200
197
  version: '0'
198
+ type: :runtime
199
+ prerelease: false
201
200
  version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
202
  requirements:
203
203
  - - ! '>='
204
204
  - !ruby/object:Gem::Version
205
205
  version: '0'
206
- type: :runtime
207
- prerelease: false
208
- name: launchy
209
206
  description: Tool for managing applications and clouds at shellycloud.com
210
207
  email:
211
208
  - devs@shellycloud.com
@@ -276,46 +273,26 @@ files:
276
273
  - spec/thor/options_spec.rb
277
274
  homepage: http://shellycloud.com
278
275
  licenses: []
279
- metadata: {}
280
276
  post_install_message:
281
277
  rdoc_options: []
282
278
  require_paths:
283
279
  - lib
284
280
  required_ruby_version: !ruby/object:Gem::Requirement
281
+ none: false
285
282
  requirements:
286
283
  - - ! '>='
287
284
  - !ruby/object:Gem::Version
288
285
  version: '0'
289
286
  required_rubygems_version: !ruby/object:Gem::Requirement
287
+ none: false
290
288
  requirements:
291
289
  - - ! '>='
292
290
  - !ruby/object:Gem::Version
293
291
  version: '0'
294
292
  requirements: []
295
293
  rubyforge_project: shelly
296
- rubygems_version: 2.0.3
294
+ rubygems_version: 1.8.24
297
295
  signing_key:
298
- specification_version: 4
296
+ specification_version: 3
299
297
  summary: Shelly Cloud command line tool
300
- test_files:
301
- - spec/helpers.rb
302
- - spec/input_faker.rb
303
- - spec/shelly/app_spec.rb
304
- - spec/shelly/backup_spec.rb
305
- - spec/shelly/cli/backup_spec.rb
306
- - spec/shelly/cli/config_spec.rb
307
- - spec/shelly/cli/deploy_spec.rb
308
- - spec/shelly/cli/file_spec.rb
309
- - spec/shelly/cli/main_spec.rb
310
- - spec/shelly/cli/organization_spec.rb
311
- - spec/shelly/cli/runner_spec.rb
312
- - spec/shelly/cli/user_spec.rb
313
- - spec/shelly/client_spec.rb
314
- - spec/shelly/cloudfile_spec.rb
315
- - spec/shelly/download_progress_bar_spec.rb
316
- - spec/shelly/model_spec.rb
317
- - spec/shelly/organization_spec.rb
318
- - spec/shelly/structure_validator_spec.rb
319
- - spec/shelly/user_spec.rb
320
- - spec/spec_helper.rb
321
- - spec/thor/options_spec.rb
298
+ test_files: []
checksums.yaml DELETED
@@ -1,15 +0,0 @@
1
- ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- YzAwOWRmMjEyZDA5OWNlOTg1NTJjYzkxNjY1MTFjODA5MzI0NDA5Yw==
5
- data.tar.gz: !binary |-
6
- NDg0YjA5MTcxMDdkYTE2NDJiY2Q3NDRlNmM2NzJjODk1ZDM2NTIxMQ==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- NjRlYjYzMzUzOGFiMTljNmYxNzNhMWUzMjE5OWZiNmQ0MDFlZjNiMzI1OGIy
10
- ZjVkNmQxNWMzMzllZDU1NDcxMmFmMGUyYjA0ZGYwYmY3NGI0ZTJiZjE5NzVj
11
- NWU1NzNjZGRkZDc0NjUzYjZiZGE4MjQ2ZWY2ODY3YWE4NzhmODA=
12
- data.tar.gz: !binary |-
13
- NzYwZGVlMWVlNWY5NTk3ODU0YTM0MzJmNGI2ZjljM2RhODU3MDk4NjMyOTJm
14
- MTc1N2I0MWQyZTFiYWNlMmUwZDEzYWI0M2M2ODA2YzNlZWY4Y2JlN2YzZjcw
15
- MWQzZjc5MTUwYTFkZmQyZTFiMjQxZmY1NjRiY2M5NzdjODYzNTY=