shelly 0.2.7 → 0.2.8
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +5 -1
- data/Gemfile +1 -1
- data/lib/shelly/app.rb +3 -2
- data/lib/shelly/cli/main.rb +3 -0
- data/lib/shelly/client.rb +3 -1
- data/lib/shelly/version.rb +1 -1
- data/lib/thor/options.rb +0 -7
- data/shelly.gemspec +1 -1
- data/spec/shelly/app_spec.rb +2 -1
- data/spec/shelly/cli/main_spec.rb +8 -0
- data/spec/shelly/client_spec.rb +6 -4
- data/spec/spec_helper.rb +3 -1
- metadata +61 -8
data/CHANGELOG.md
CHANGED
@@ -1,8 +1,12 @@
|
|
1
|
+
## 0.2.8 / 2013-03-12
|
2
|
+
|
3
|
+
* Requires newer version of wijet-thor
|
4
|
+
|
1
5
|
## 0.2.7 / 2013-03-07
|
2
6
|
|
3
7
|
* [bug] Checking presence of Rakefile and tasks (db:migrate and db:setup)
|
4
8
|
|
5
|
-
## 0.2.6 / 2013-03-06
|
9
|
+
## 0.2.6 / 2013-03-06 yanked
|
6
10
|
|
7
11
|
* [bug] Fixes issues with newer version of Thor gem (> 0.15.0)
|
8
12
|
|
data/Gemfile
CHANGED
data/lib/shelly/app.rb
CHANGED
@@ -10,7 +10,7 @@ module Shelly
|
|
10
10
|
|
11
11
|
attr_accessor :code_name, :databases, :ruby_version, :environment,
|
12
12
|
:git_url, :domains, :web_server_ip, :size, :thin, :redeem_code,
|
13
|
-
:content, :organization
|
13
|
+
:content, :organization, :zone_name
|
14
14
|
|
15
15
|
def initialize(code_name = nil, content = nil)
|
16
16
|
self.code_name = code_name
|
@@ -45,7 +45,8 @@ module Shelly
|
|
45
45
|
def create
|
46
46
|
attributes = {:code_name => code_name,
|
47
47
|
:redeem_code => redeem_code,
|
48
|
-
:organization_name => organization
|
48
|
+
:organization_name => organization,
|
49
|
+
:zone_name => zone_name}
|
49
50
|
response = shelly.create_app(attributes)
|
50
51
|
self.git_url = response["git_url"]
|
51
52
|
self.domains = response["domains"]
|
data/lib/shelly/cli/main.rb
CHANGED
@@ -85,6 +85,8 @@ module Shelly
|
|
85
85
|
:desc => "Add cloud to existing organization"
|
86
86
|
method_option "skip-requirements-check", :type => :boolean,
|
87
87
|
:desc => "Skip Shelly Cloud requirements check"
|
88
|
+
method_option "zone", :type => :boolean, :hide => true,
|
89
|
+
:desc => "Create cloud in given zone"
|
88
90
|
desc "add", "Add a new cloud"
|
89
91
|
def add
|
90
92
|
check_options(options)
|
@@ -97,6 +99,7 @@ module Shelly
|
|
97
99
|
app.size = options["size"] || "large"
|
98
100
|
app.redeem_code = options["redeem-code"]
|
99
101
|
app.organization = options["organization"] || ask_for_organization(app.code_name)
|
102
|
+
app.zone_name = options["zone"]
|
100
103
|
app.create
|
101
104
|
|
102
105
|
if overwrite_remote?(app)
|
data/lib/shelly/client.rb
CHANGED
@@ -98,7 +98,9 @@ module Shelly
|
|
98
98
|
|
99
99
|
def create_app(attributes)
|
100
100
|
organization = attributes.delete(:organization_name)
|
101
|
-
|
101
|
+
zone = attributes.delete(:zone_name)
|
102
|
+
post("/apps", :app => attributes, :organization_name => organization,
|
103
|
+
:zone_name => zone)
|
102
104
|
end
|
103
105
|
|
104
106
|
def delete_app(code_name)
|
data/lib/shelly/version.rb
CHANGED
data/lib/thor/options.rb
CHANGED
@@ -15,10 +15,3 @@ class Thor
|
|
15
15
|
end
|
16
16
|
end
|
17
17
|
end
|
18
|
-
|
19
|
-
|
20
|
-
def check_unknown!
|
21
|
-
raise UnknownArgumentError, "shelly: unrecognized option '#{@unknown.join(', ')}'\n" +
|
22
|
-
"Usage: shelly [COMMAND]... [OPTIONS]\n" +
|
23
|
-
"Try 'shelly --help' for more information" unless @unknown.empty?
|
24
|
-
end
|
data/shelly.gemspec
CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |s|
|
|
23
23
|
end
|
24
24
|
s.add_development_dependency "fakefs"
|
25
25
|
s.add_development_dependency "fakeweb"
|
26
|
-
s.add_runtime_dependency "wijet-thor", "~> 0.14.
|
26
|
+
s.add_runtime_dependency "wijet-thor", "~> 0.14.9"
|
27
27
|
s.add_runtime_dependency "rest-client"
|
28
28
|
s.add_runtime_dependency "json"
|
29
29
|
s.add_runtime_dependency "progressbar"
|
data/spec/shelly/app_spec.rb
CHANGED
@@ -267,7 +267,8 @@ describe Shelly::App do
|
|
267
267
|
attributes = {
|
268
268
|
:code_name => "fooo",
|
269
269
|
:redeem_code => "foo123",
|
270
|
-
:organization_name => nil
|
270
|
+
:organization_name => nil,
|
271
|
+
:zone_name => nil
|
271
272
|
}
|
272
273
|
@client.should_receive(:create_app).with(attributes).and_return("git_url" => "git@git.shellycloud.com:fooo.git",
|
273
274
|
"domains" => %w(fooo.shellyapp.com))
|
@@ -347,6 +347,14 @@ More info at http://git-scm.com/book/en/Git-Basics-Getting-a-Git-Repository\e[0m
|
|
347
347
|
@main.options = {"code-name" => "foo", "databases" => ["postgresql"], "size" => "large"}
|
348
348
|
invoke(@main, :add)
|
349
349
|
end
|
350
|
+
|
351
|
+
it "should use zone from option" do
|
352
|
+
@app.should_receive(:zone_name=).with('eu1')
|
353
|
+
@main.options = {"zone" => "eu1"}
|
354
|
+
fake_stdin(["mycodename", ""]) do
|
355
|
+
invoke(@main, :add)
|
356
|
+
end
|
357
|
+
end
|
350
358
|
end
|
351
359
|
end
|
352
360
|
|
data/spec/shelly/client_spec.rb
CHANGED
@@ -165,15 +165,17 @@ describe Shelly::Client do
|
|
165
165
|
|
166
166
|
describe "#create_app" do
|
167
167
|
it "should send post with app's attributes" do
|
168
|
-
@client.should_receive(:post).with("/apps", :app => {:code_name => "foo",
|
168
|
+
@client.should_receive(:post).with("/apps", :app => {:code_name => "foo",
|
169
|
+
:ruby_version => "1.9.2"}, :organization_name => nil, :zone_name => nil)
|
169
170
|
@client.create_app(:code_name => "foo", :ruby_version => "1.9.2")
|
170
171
|
end
|
171
172
|
|
172
173
|
it "should send post with app's attributes and organization name" do
|
173
|
-
@client.should_receive(:post).with("/apps", :app => {:code_name => "foo",
|
174
|
-
|
174
|
+
@client.should_receive(:post).with("/apps", :app => {:code_name => "foo",
|
175
|
+
:ruby_version => "1.9.2"}, :organization_name => "foo", :zone_name => 'eu1')
|
176
|
+
@client.create_app(:code_name => "foo", :ruby_version => "1.9.2",
|
177
|
+
:organization_name => "foo", :zone_name => "eu1")
|
175
178
|
end
|
176
|
-
|
177
179
|
end
|
178
180
|
|
179
181
|
describe "#organizations" do
|
data/spec/spec_helper.rb
CHANGED
@@ -3,6 +3,9 @@ if ENV["COVERAGE"]
|
|
3
3
|
SimpleCov.start
|
4
4
|
end
|
5
5
|
|
6
|
+
# Psych is required here to make sure it will be used as default
|
7
|
+
# yaml engine when running tests (required by cloudfile_spec:49)
|
8
|
+
require 'psych' if RUBY_VERSION >= "1.9"
|
6
9
|
require "rspec"
|
7
10
|
require "shelly"
|
8
11
|
require "helpers"
|
@@ -10,7 +13,6 @@ require "input_faker"
|
|
10
13
|
require "fakefs/spec_helpers"
|
11
14
|
require "fakeweb"
|
12
15
|
require "launchy"
|
13
|
-
require "rake"
|
14
16
|
|
15
17
|
ENV['THOR_COLUMNS'] = "180"
|
16
18
|
FakeWeb.allow_net_connect = false
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shelly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-03-
|
12
|
+
date: 2013-03-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
@@ -91,6 +91,38 @@ dependencies:
|
|
91
91
|
- - ! '>='
|
92
92
|
- !ruby/object:Gem::Version
|
93
93
|
version: '0'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: ruby_gntp
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: rb-fsevent
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
94
126
|
- !ruby/object:Gem::Dependency
|
95
127
|
name: fakefs
|
96
128
|
requirement: !ruby/object:Gem::Requirement
|
@@ -130,7 +162,7 @@ dependencies:
|
|
130
162
|
requirements:
|
131
163
|
- - ~>
|
132
164
|
- !ruby/object:Gem::Version
|
133
|
-
version: 0.14.
|
165
|
+
version: 0.14.9
|
134
166
|
type: :runtime
|
135
167
|
prerelease: false
|
136
168
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -138,7 +170,7 @@ dependencies:
|
|
138
170
|
requirements:
|
139
171
|
- - ~>
|
140
172
|
- !ruby/object:Gem::Version
|
141
|
-
version: 0.14.
|
173
|
+
version: 0.14.9
|
142
174
|
- !ruby/object:Gem::Dependency
|
143
175
|
name: rest-client
|
144
176
|
requirement: !ruby/object:Gem::Requirement
|
@@ -285,7 +317,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
285
317
|
version: '0'
|
286
318
|
segments:
|
287
319
|
- 0
|
288
|
-
hash: -
|
320
|
+
hash: -3129673927878389756
|
289
321
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
290
322
|
none: false
|
291
323
|
requirements:
|
@@ -294,11 +326,32 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
294
326
|
version: '0'
|
295
327
|
segments:
|
296
328
|
- 0
|
297
|
-
hash: -
|
329
|
+
hash: -3129673927878389756
|
298
330
|
requirements: []
|
299
331
|
rubyforge_project: shelly
|
300
|
-
rubygems_version: 1.8.
|
332
|
+
rubygems_version: 1.8.25
|
301
333
|
signing_key:
|
302
334
|
specification_version: 3
|
303
335
|
summary: Shelly Cloud command line tool
|
304
|
-
test_files:
|
336
|
+
test_files:
|
337
|
+
- spec/helpers.rb
|
338
|
+
- spec/input_faker.rb
|
339
|
+
- spec/shelly/app_spec.rb
|
340
|
+
- spec/shelly/backup_spec.rb
|
341
|
+
- spec/shelly/cli/backup_spec.rb
|
342
|
+
- spec/shelly/cli/config_spec.rb
|
343
|
+
- spec/shelly/cli/deploy_spec.rb
|
344
|
+
- spec/shelly/cli/file_spec.rb
|
345
|
+
- spec/shelly/cli/main_spec.rb
|
346
|
+
- spec/shelly/cli/organization_spec.rb
|
347
|
+
- spec/shelly/cli/runner_spec.rb
|
348
|
+
- spec/shelly/cli/user_spec.rb
|
349
|
+
- spec/shelly/client_spec.rb
|
350
|
+
- spec/shelly/cloudfile_spec.rb
|
351
|
+
- spec/shelly/download_progress_bar_spec.rb
|
352
|
+
- spec/shelly/model_spec.rb
|
353
|
+
- spec/shelly/organization_spec.rb
|
354
|
+
- spec/shelly/structure_validator_spec.rb
|
355
|
+
- spec/shelly/user_spec.rb
|
356
|
+
- spec/spec_helper.rb
|
357
|
+
- spec/thor/options_spec.rb
|