scalarium_cli 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +7 -1
- data/lib/scalarium/application.rb +4 -3
- data/lib/scalarium/cli.rb +8 -3
- data/lib/scalarium/version.rb +2 -2
- data/spec/scalarium/application_spec.rb +18 -2
- metadata +3 -3
data/README.md
CHANGED
@@ -30,10 +30,16 @@ Then from the Root directory, just run
|
|
30
30
|
|
31
31
|
sca deploy staging
|
32
32
|
|
33
|
-
|
33
|
+
#### Other options
|
34
|
+
|
35
|
+
Run migrations
|
34
36
|
|
35
37
|
sca deploy staging --migrate
|
36
38
|
|
39
|
+
Add a comment
|
40
|
+
|
41
|
+
sca deploy staging --comment="This is an awesome deploy!"
|
42
|
+
|
37
43
|
### Non Rails
|
38
44
|
|
39
45
|
By default the CLI will look at `./config/scalarium.yml` for the config.
|
@@ -1,12 +1,13 @@
|
|
1
1
|
module Scalarium
|
2
2
|
class Application
|
3
|
-
attr_accessor :email, :password, :slug
|
3
|
+
attr_accessor :email, :password, :slug
|
4
4
|
|
5
|
-
def deploy
|
5
|
+
def deploy(options={})
|
6
6
|
login do
|
7
7
|
agent.get("https://manage.scalarium.com/applications/#{slug}/deployments/new") do |page|
|
8
8
|
form = page.forms.first
|
9
|
-
form["deployment[migrate]"] = 1 if run_migrations
|
9
|
+
form["deployment[migrate]"] = 1 if options[:run_migrations]
|
10
|
+
form["deployment[comment]"] = options[:comment]
|
10
11
|
form.click_button
|
11
12
|
end
|
12
13
|
end
|
data/lib/scalarium/cli.rb
CHANGED
@@ -3,7 +3,10 @@ require "thor"
|
|
3
3
|
module Scalarium
|
4
4
|
class CLI < Thor
|
5
5
|
desc "deploy [staging|production]", "deploy to specified env"
|
6
|
-
method_options :migrate => :boolean,
|
6
|
+
method_options :migrate => :boolean,
|
7
|
+
:config => :string,
|
8
|
+
:comment => :string
|
9
|
+
|
7
10
|
def deploy(env="production")
|
8
11
|
application = Scalarium::Application.new
|
9
12
|
|
@@ -11,10 +14,12 @@ module Scalarium
|
|
11
14
|
x.email = config[env]["email"]
|
12
15
|
x.password = config[env]["password"]
|
13
16
|
x.slug = config[env]["slug"]
|
14
|
-
x.run_migrations = options.migrate?
|
15
17
|
end
|
16
18
|
|
17
|
-
application.deploy
|
19
|
+
application.deploy(
|
20
|
+
:run_migrations => options.migrate?,
|
21
|
+
:comment => options[:comment]
|
22
|
+
)
|
18
23
|
end
|
19
24
|
|
20
25
|
private
|
data/lib/scalarium/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
module Scalarium
|
2
|
-
VERSION = "0.0.
|
3
|
-
end
|
2
|
+
VERSION = "0.0.2"
|
3
|
+
end
|
@@ -60,10 +60,9 @@ describe Scalarium::Application do
|
|
60
60
|
c.email = "test@email.com"
|
61
61
|
c.password = "password"
|
62
62
|
c.slug = "railslove"
|
63
|
-
c.run_migrations = true
|
64
63
|
end
|
65
64
|
|
66
|
-
@application.deploy
|
65
|
+
@application.deploy(:run_migrations => true)
|
67
66
|
end
|
68
67
|
|
69
68
|
subject { WebMock::API }
|
@@ -71,5 +70,22 @@ describe Scalarium::Application do
|
|
71
70
|
it { should have_requested(:post, "https://manage.scalarium.com/applications/railslove/deployments").
|
72
71
|
with {|req| req.body.match(/migrate%5D=1/) } }
|
73
72
|
end
|
73
|
+
|
74
|
+
context "when deploying with a comment" do
|
75
|
+
before do
|
76
|
+
@application.config do |c|
|
77
|
+
c.email = "test@email.com"
|
78
|
+
c.password = "password"
|
79
|
+
c.slug = "railslove"
|
80
|
+
end
|
81
|
+
|
82
|
+
@application.deploy(:comment => "Hello")
|
83
|
+
end
|
84
|
+
|
85
|
+
subject { WebMock::API }
|
86
|
+
|
87
|
+
it { should have_requested(:post, "https://manage.scalarium.com/applications/railslove/deployments").
|
88
|
+
with {|req| req.body.match(/comment%5D=Hello/) } }
|
89
|
+
end
|
74
90
|
end
|
75
91
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scalarium_cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 2
|
10
|
+
version: 0.0.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Red Davis
|