debox 0.0.1 → 0.0.2
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/.gitignore +1 -0
- data/Gemfile +3 -1
- data/README.org +116 -0
- data/config/database.yml.sample +26 -0
- data/lib/debox/api.rb +11 -4
- data/lib/debox/command/cap.rb +2 -2
- data/lib/debox/command/live.rb +10 -2
- data/lib/debox/command/log.rb +2 -2
- data/lib/debox/command/logs.rb +7 -3
- data/lib/debox/command/status.rb +11 -0
- data/lib/debox/version.rb +1 -1
- data/spec/integration/api/cap/cap_spec.rb +7 -7
- data/spec/integration/api/logs/index_spec.rb +7 -14
- data/spec/integration/api/logs/show_spec.rb +8 -6
- data/spec/integration/api/recipes/destroy_spec.rb +3 -3
- data/spec/integration/api/recipes/index_spec.rb +6 -3
- data/spec/integration/api/recipes/new_spec.rb +3 -1
- data/spec/integration/api/users/delete_spec.rb +1 -1
- data/spec/integration/api/users/index_spec.rb +1 -1
- data/spec/integration/commands/cap_spec.rb +4 -4
- data/spec/spec_helper.rb +8 -3
- data/spec/support/herlpers.rb +0 -9
- metadata +5 -3
- data/README.md +0 -29
data/.gitignore
CHANGED
data/Gemfile
CHANGED
data/README.org
ADDED
@@ -0,0 +1,116 @@
|
|
1
|
+
* Debox
|
2
|
+
|
3
|
+
This gem is the client for the Debox Server. It allow you to create and update capistrano recipes, run tasks and manage users in the server.
|
4
|
+
|
5
|
+
* Installation
|
6
|
+
|
7
|
+
To install the latest version, run:
|
8
|
+
|
9
|
+
#+BEGIN_SRC sh
|
10
|
+
$ [sudo] gem install debox
|
11
|
+
#+END_SRC
|
12
|
+
|
13
|
+
* Usage
|
14
|
+
|
15
|
+
First thing to do after install the gem is login into your debox server.
|
16
|
+
|
17
|
+
#+BEGIN_SRC sh
|
18
|
+
$ debox login -h deboxserver.com -u youruser@email.com
|
19
|
+
#+END_SRC
|
20
|
+
|
21
|
+
** Getting help
|
22
|
+
|
23
|
+
To get a list of available commands run:
|
24
|
+
|
25
|
+
#+BEGIN_SRC sh
|
26
|
+
$ debox -h
|
27
|
+
|
28
|
+
Usage: debox command [options]
|
29
|
+
Commands:
|
30
|
+
recipes application # List recipes for the application
|
31
|
+
recipes:show application environment # Show a new capistrano recipe
|
32
|
+
recipes:new application environment # Create a new capistrano recipe
|
33
|
+
recipes:edit application environment # Edit a capistrano recipe
|
34
|
+
recipes:delete application environment # Delete a capistrano recipe
|
35
|
+
users # List all users in the debox server
|
36
|
+
users:new # Create user
|
37
|
+
users:delete email # Delete user with a given email
|
38
|
+
apps # List apps and envs
|
39
|
+
log application [environment] [index] # Show log. Last by default
|
40
|
+
logs application [environment] # List logs for application and env
|
41
|
+
deploy application enviroment # Deploy application
|
42
|
+
cap task application [environment] # Deploy application
|
43
|
+
login # Login in the debox server. Require -h param.
|
44
|
+
live application enviroment # Live log for application
|
45
|
+
key:show # Show the server ssh public key
|
46
|
+
key:copy target_host # Copy the server ssh public key to the target host
|
47
|
+
Options:
|
48
|
+
-h, --host SERVER_HOST Debox server url
|
49
|
+
-p, --port PORT Debox server port
|
50
|
+
-u, --user EMAIL User name
|
51
|
+
-?, --help Show this help
|
52
|
+
#+END_SRC
|
53
|
+
|
54
|
+
** Keys setup
|
55
|
+
|
56
|
+
You must add the public key for the user runnin the debox server to the server where capistrano have to connect and run task.
|
57
|
+
The debox client includes a command for help with this, you can run:
|
58
|
+
|
59
|
+
#+BEGIN_SRC sh
|
60
|
+
$ debox key:copy your_application_server
|
61
|
+
#+END_SRC
|
62
|
+
|
63
|
+
If you haven't access to this server, you can get the key with this command:
|
64
|
+
|
65
|
+
#+BEGIN_SRC sh
|
66
|
+
$ debox key:show
|
67
|
+
#+END_SRC
|
68
|
+
|
69
|
+
** Display applications configured in the server
|
70
|
+
|
71
|
+
To get a list of configured apps and its environment run:
|
72
|
+
|
73
|
+
#+BEGIN_SRC sh
|
74
|
+
$ debox apps
|
75
|
+
#+END_SRC
|
76
|
+
|
77
|
+
It will show a list of apps and configured envirments
|
78
|
+
|
79
|
+
** Adding applications or environments
|
80
|
+
|
81
|
+
To create an application or add a new env to an existent application.
|
82
|
+
|
83
|
+
#+BEGIN_SRC sh
|
84
|
+
$ debox recipes:new application_name environment_name
|
85
|
+
#+END_SRC
|
86
|
+
|
87
|
+
This command will open your default text editor, defined in the environment variable $EDITOR, with a boostraped capistrano recipe.
|
88
|
+
After save and close this file, it will be automatically uploaded to the server and ready to use.
|
89
|
+
|
90
|
+
** Edit environments
|
91
|
+
|
92
|
+
For change the capistrano recipe configured for any recipe run:
|
93
|
+
#+BEGIN_SRC sh
|
94
|
+
$ debox recipes:edit application_name environment_name
|
95
|
+
#+END_SRC
|
96
|
+
|
97
|
+
** Show environments
|
98
|
+
|
99
|
+
To get the content for a recipe just run:
|
100
|
+
|
101
|
+
#+BEGIN_SRC sh
|
102
|
+
$ debox recipes:show
|
103
|
+
#+END_SRC
|
104
|
+
|
105
|
+
** Run tasks
|
106
|
+
|
107
|
+
You can run any task defined in the capistrano recipe with the cap command:
|
108
|
+
|
109
|
+
#+BEGIN_SRC sh
|
110
|
+
$ debox cap deploy:setup app env
|
111
|
+
$ debox cap deploy app env
|
112
|
+
$ debox cap deploy:migrate app env
|
113
|
+
$ debox cap deploy:restart app env
|
114
|
+
#+END_SRC
|
115
|
+
|
116
|
+
It will stream the server output to the stdout
|
@@ -0,0 +1,26 @@
|
|
1
|
+
development:
|
2
|
+
adapter: mysql2
|
3
|
+
encoding: utf8
|
4
|
+
reconnect: false
|
5
|
+
database: debox_development
|
6
|
+
pool: 5
|
7
|
+
username: root
|
8
|
+
password:
|
9
|
+
|
10
|
+
test:
|
11
|
+
adapter: mysql2
|
12
|
+
encoding: utf8
|
13
|
+
reconnect: false
|
14
|
+
database: debox_test
|
15
|
+
pool: 5
|
16
|
+
username: root
|
17
|
+
password:
|
18
|
+
|
19
|
+
production:
|
20
|
+
adapter: mysql2
|
21
|
+
encoding: utf8
|
22
|
+
reconnect: false
|
23
|
+
database: debox_production
|
24
|
+
pool: 5
|
25
|
+
username: root
|
26
|
+
password:
|
data/lib/debox/api.rb
CHANGED
@@ -21,6 +21,11 @@ module Debox
|
|
21
21
|
get '/v1/apps'
|
22
22
|
end
|
23
23
|
|
24
|
+
# Server status
|
25
|
+
def self.status
|
26
|
+
get '/v1/status'
|
27
|
+
end
|
28
|
+
|
24
29
|
# users
|
25
30
|
#----------------------------------------------------------------------
|
26
31
|
|
@@ -90,10 +95,12 @@ module Debox
|
|
90
95
|
#----------------------------------------------------------------------
|
91
96
|
|
92
97
|
def self.live(opt, &block)
|
93
|
-
path = "/v1/live/log/#{opt[:
|
94
|
-
path
|
98
|
+
path = "/v1/live/log/job/#{opt[:job_id]}"
|
99
|
+
eventSource path, { }, block
|
100
|
+
end
|
95
101
|
|
96
|
-
|
102
|
+
def self.notifications(opt={ }, &block)
|
103
|
+
path = "/v1/live/notifications"
|
97
104
|
eventSource path, { }, block
|
98
105
|
end
|
99
106
|
|
@@ -106,7 +113,7 @@ module Debox
|
|
106
113
|
def self.log(opt)
|
107
114
|
path = "/v1/log/#{opt[:app]}"
|
108
115
|
path += "/#{opt[:env]}" if opt[:env]
|
109
|
-
path += "?
|
116
|
+
path += "?job_id=#{opt[:job_id]}" if opt[:job_id]
|
110
117
|
get_raw(path).body
|
111
118
|
end
|
112
119
|
|
data/lib/debox/command/cap.rb
CHANGED
@@ -7,8 +7,8 @@ class Debox::Command::Cap < Debox::Command::Base
|
|
7
7
|
deploy_params = { task: args[0], app: args[1] }
|
8
8
|
deploy_params[:env] = args[2] if args.count == 3
|
9
9
|
cap_request = Debox::API.cap(deploy_params)
|
10
|
-
|
11
|
-
Debox::API.live(
|
10
|
+
job_id = cap_request[:job_id]
|
11
|
+
Debox::API.live(job_id: job_id) do |chunk|
|
12
12
|
puts chunk
|
13
13
|
end
|
14
14
|
end
|
data/lib/debox/command/live.rb
CHANGED
@@ -2,8 +2,8 @@ require 'debox/command/base'
|
|
2
2
|
|
3
3
|
class Debox::Command::Live < Debox::Command::Base
|
4
4
|
|
5
|
-
help :
|
6
|
-
def
|
5
|
+
help :log, params: ['job_id'], text: 'Live log for job'
|
6
|
+
def log
|
7
7
|
opt = { app: args[0] }
|
8
8
|
opt[:env] = args[1] if args[1]
|
9
9
|
Debox::API.live(opt) do |chunk|
|
@@ -11,4 +11,12 @@ class Debox::Command::Live < Debox::Command::Base
|
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
|
+
|
15
|
+
help :notifications, text: 'Live notifications'
|
16
|
+
def notifications
|
17
|
+
Debox::API.notifications do |chunk|
|
18
|
+
puts chunk
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
14
22
|
end
|
data/lib/debox/command/log.rb
CHANGED
@@ -3,13 +3,13 @@ require 'debox/command/base'
|
|
3
3
|
class Debox::Command::Log < Debox::Command::Base
|
4
4
|
include Debox::Utils
|
5
5
|
|
6
|
-
help :index, params: ['application'],opt_params: ['environment', '
|
6
|
+
help :index, params: ['application'],opt_params: ['environment', 'job_id'],
|
7
7
|
text: "Show log. Last by default"
|
8
8
|
|
9
9
|
def index
|
10
10
|
opt = { app: args[0] }
|
11
11
|
opt[:env] = args[1] if args.length > 1
|
12
|
-
opt[:
|
12
|
+
opt[:job_id] = args[2] if args.length > 2
|
13
13
|
|
14
14
|
puts Debox::API.log opt
|
15
15
|
end
|
data/lib/debox/command/logs.rb
CHANGED
@@ -16,11 +16,15 @@ class Debox::Command::Logs < Debox::Command::Base
|
|
16
16
|
private
|
17
17
|
|
18
18
|
def format_log_info(log)
|
19
|
+
status = log[:success] ? "SUCCESS" : "FAILED"
|
20
|
+
start_time = log[:start_time] ? DateTime.parse(log[:start_time]).to_s : ""
|
21
|
+
end_time = log[:end_time] ? DateTime.parse(log[:end_time]).to_s : ""
|
22
|
+
|
19
23
|
l = []
|
20
|
-
l << log[:
|
21
|
-
l <<
|
24
|
+
l << log[:id]
|
25
|
+
l << status
|
22
26
|
l << log[:task]
|
23
|
-
l <<
|
27
|
+
l << start_time
|
24
28
|
l << log[:error]
|
25
29
|
l.join "\t"
|
26
30
|
end
|
data/lib/debox/version.rb
CHANGED
@@ -3,25 +3,25 @@ describe 'cap' do
|
|
3
3
|
|
4
4
|
it 'should deal with invalid app' do
|
5
5
|
configure_admin
|
6
|
-
DeboxServer::
|
6
|
+
DeboxServer::jobs_queue.should_not_receive(:add)
|
7
7
|
expect {
|
8
8
|
Debox::API.cap(app: 'test')
|
9
|
-
}.to raise_error Debox::DeboxServerException,
|
9
|
+
}.to raise_error Debox::DeboxServerException, "400: Couldn't find App with name = test"
|
10
10
|
end
|
11
11
|
|
12
12
|
it 'should deal with invalid env' do
|
13
13
|
configure_admin
|
14
14
|
server.create_recipe('test', :production, 'invalid content')
|
15
|
-
DeboxServer::
|
15
|
+
DeboxServer::jobs_queue.should_not_receive(:add)
|
16
16
|
expect {
|
17
17
|
Debox::API.cap(app: 'test', env: 'invalid')
|
18
|
-
}.to raise_error Debox::DeboxServerException,
|
18
|
+
}.to raise_error Debox::DeboxServerException, "400: Couldn't find Recipe with name = invalid"
|
19
19
|
end
|
20
20
|
|
21
21
|
it 'should run a cap task gith a given app' do
|
22
22
|
configure_admin
|
23
23
|
server.create_recipe('test', :production, 'invalid content')
|
24
|
-
DeboxServer::
|
24
|
+
DeboxServer::jobs_queue.should_receive(:add)
|
25
25
|
|
26
26
|
job = Debox::API.cap app: 'test'
|
27
27
|
job[:app].should eq 'test'
|
@@ -33,7 +33,7 @@ describe 'cap' do
|
|
33
33
|
configure_admin
|
34
34
|
server.create_recipe('test', :production, 'invalid content')
|
35
35
|
server.create_recipe('test', :staging, 'invalid content')
|
36
|
-
DeboxServer::
|
36
|
+
DeboxServer::jobs_queue.should_receive(:add)
|
37
37
|
|
38
38
|
job = Debox::API.cap app: 'test', env: 'staging'
|
39
39
|
job[:app].should eq 'test'
|
@@ -46,7 +46,7 @@ describe 'cap' do
|
|
46
46
|
configure_admin
|
47
47
|
server.create_recipe('test', :production, 'invalid content')
|
48
48
|
server.create_recipe('test', :staging, 'invalid content')
|
49
|
-
DeboxServer::
|
49
|
+
DeboxServer::jobs_queue.should_receive(:add)
|
50
50
|
|
51
51
|
job = Debox::API.cap app: 'test', env: 'staging', task: 'node:setup'
|
52
52
|
job[:app].should eq 'test'
|
@@ -2,38 +2,31 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe 'logs' do
|
4
4
|
it 'should return all the logs' do
|
5
|
-
time = DateTime.now
|
6
|
-
out = OpenStruct.new time: time, success: true, buffer: 'Some log content', error: 'Log result'
|
7
5
|
server.create_recipe('test', 'production', 'content')
|
8
|
-
job =
|
9
|
-
job
|
6
|
+
job = Job.new error: 'Log result'
|
7
|
+
Recipe.any_instance.should_receive(:jobs).and_return [job]
|
10
8
|
|
11
9
|
configure_admin
|
12
10
|
|
13
11
|
logs = Debox::API.logs app: 'test', env: 'production'
|
14
12
|
logs.count.should eq 1
|
15
13
|
saved = logs.first
|
16
|
-
|
14
|
+
|
17
15
|
saved[:error].should eq 'Log result'
|
18
|
-
saved[:status].should eq 'success'
|
19
16
|
end
|
20
17
|
|
21
18
|
it 'should set default env if not set and only one available' do
|
22
|
-
time = DateTime.now
|
23
|
-
out = OpenStruct.new time: time, success: true, buffer: 'Some log content', error: 'Log result'
|
24
19
|
server.create_recipe('test', 'production', 'content')
|
25
|
-
job =
|
26
|
-
job
|
20
|
+
job = Job.new error: 'Log result'
|
21
|
+
Recipe.any_instance.should_receive(:jobs).and_return [job]
|
27
22
|
|
28
23
|
configure_admin
|
29
24
|
|
30
|
-
logs = Debox::API.logs app: 'test'
|
25
|
+
logs = Debox::API.logs app: 'test'
|
31
26
|
logs.count.should eq 1
|
32
27
|
saved = logs.first
|
33
28
|
|
34
|
-
DateTime.parse(saved[:time]).to_s.should eq time.to_s
|
35
29
|
saved[:error].should eq 'Log result'
|
36
|
-
saved[:status].should eq 'success'
|
37
30
|
end
|
38
31
|
|
39
32
|
it 'should empty array withut logs' do
|
@@ -47,7 +40,7 @@ describe 'logs' do
|
|
47
40
|
configure_admin
|
48
41
|
expect {
|
49
42
|
Debox::API.logs app: 'test', env: 'production'
|
50
|
-
}.to raise_error Debox::DeboxServerException,
|
43
|
+
}.to raise_error Debox::DeboxServerException, "400: Couldn't find App with name = test"
|
51
44
|
|
52
45
|
end
|
53
46
|
|
@@ -1,10 +1,11 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
describe 'log' do
|
3
3
|
it 'should return the log' do
|
4
|
-
out = OpenStruct.new time: DateTime.now, success: true, buffer: 'Some log content', error: 'Log result'
|
5
4
|
server.create_recipe('test', 'production', 'content')
|
6
|
-
job =
|
7
|
-
|
5
|
+
job = Job.new error: 'Log result', log: 'Some log content'
|
6
|
+
jobs = double('jobs')
|
7
|
+
jobs.should_receive(:last).and_return job
|
8
|
+
Recipe.any_instance.should_receive(:jobs).and_return jobs
|
8
9
|
|
9
10
|
configure_admin
|
10
11
|
|
@@ -13,10 +14,11 @@ describe 'log' do
|
|
13
14
|
end
|
14
15
|
|
15
16
|
it 'should return the log without env' do
|
16
|
-
out = OpenStruct.new time: DateTime.now, success: true, buffer: 'Some log content', error: 'Log result'
|
17
17
|
server.create_recipe('test', 'production', 'content')
|
18
|
-
job =
|
19
|
-
|
18
|
+
job = Job.new error: 'Log result', log: 'Some log content'
|
19
|
+
jobs = double('jobs')
|
20
|
+
jobs.should_receive(:last).and_return job
|
21
|
+
Recipe.any_instance.should_receive(:jobs).and_return jobs
|
20
22
|
|
21
23
|
configure_admin
|
22
24
|
|
@@ -5,10 +5,10 @@ describe 'recipes_delete' do
|
|
5
5
|
|
6
6
|
it 'should destroy the recipe if exists' do
|
7
7
|
configure_admin
|
8
|
-
server.create_recipe('test', :staging, 'sample content')
|
9
|
-
server.create_recipe('test', :production, 'sample content')
|
8
|
+
staging_recipe = server.create_recipe('test', :staging, 'sample content')
|
9
|
+
production_recipe = server.create_recipe('test', :production, 'sample content')
|
10
10
|
response = Debox::API.recipes_destroy app: 'test', env: 'staging'
|
11
11
|
response.code.should eq '200'
|
12
|
-
|
12
|
+
Recipe.all.should eq [production_recipe]
|
13
13
|
end
|
14
14
|
end
|
@@ -1,11 +1,14 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe 'recipes index' do
|
4
|
-
|
4
|
+
|
5
|
+
it 'should return invalid if app does not exists' do
|
5
6
|
configure_admin
|
6
|
-
|
7
|
-
|
7
|
+
expect {
|
8
|
+
Debox::API.recipes(app: 'test')
|
9
|
+
}.to raise_error Debox::DeboxServerException, "400: Couldn't find App with name = test"
|
8
10
|
|
11
|
+
end
|
9
12
|
|
10
13
|
it 'should return current recipes if any' do
|
11
14
|
app = 'test'
|
@@ -1,7 +1,9 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe 'recipes new' do
|
4
|
-
|
4
|
+
|
5
|
+
xit 'should create a new config file with the content of the template' do
|
6
|
+
|
5
7
|
configure_admin
|
6
8
|
response = Debox::API.recipes_new app: 'test_app', env: 'production'
|
7
9
|
response.should match 'test_app'
|
@@ -2,14 +2,14 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe 'cap command' do
|
4
4
|
it 'should call API::cap and API::live' do
|
5
|
-
Debox::API.should_receive(:cap).with(app: 'test', env: 'prod', task: 'deploy').and_return
|
6
|
-
Debox::API.should_receive(:live).with(
|
5
|
+
Debox::API.should_receive(:cap).with(app: 'test', env: 'prod', task: 'deploy').and_return job_id: 1
|
6
|
+
Debox::API.should_receive(:live).with(job_id: 1)
|
7
7
|
run_command 'cap deploy test prod'
|
8
8
|
end
|
9
9
|
|
10
10
|
it 'env is optional' do
|
11
|
-
Debox::API.should_receive(:cap).with(app: 'test', task: 'deploy').and_return
|
12
|
-
Debox::API.should_receive(:live).with(
|
11
|
+
Debox::API.should_receive(:cap).with(app: 'test', task: 'deploy').and_return job_id: 1
|
12
|
+
Debox::API.should_receive(:live).with(job_id: 1)
|
13
13
|
run_command 'cap deploy test'
|
14
14
|
end
|
15
15
|
|
data/spec/spec_helper.rb
CHANGED
@@ -1,11 +1,13 @@
|
|
1
1
|
ENV['RACK_ENV'] = 'test'
|
2
|
+
ENV['DEBOX_ROOT'] = File.join(File.dirname(__FILE__), '../')
|
2
3
|
|
3
4
|
require 'rubygems'
|
4
5
|
require 'bundler'
|
5
6
|
require 'rack'
|
6
7
|
require 'thin'
|
7
8
|
require 'debox_server'
|
8
|
-
|
9
|
+
require 'debox_server/api'
|
10
|
+
require 'database_cleaner'
|
9
11
|
Bundler.require
|
10
12
|
|
11
13
|
require "debox/cli"
|
@@ -26,10 +28,13 @@ DEBOX_SERVER_PORT = 9393
|
|
26
28
|
debox_server_start DEBOX_SERVER_PORT
|
27
29
|
|
28
30
|
RSpec.configure do |config|
|
31
|
+
config.before(:suite) do
|
32
|
+
DatabaseCleaner.strategy = :truncation
|
33
|
+
DatabaseCleaner.clean
|
34
|
+
end
|
29
35
|
|
30
36
|
# Cleanup database after each test
|
31
37
|
config.after(:each) do
|
32
|
-
|
38
|
+
DatabaseCleaner.clean
|
33
39
|
end
|
34
|
-
|
35
40
|
end
|
data/spec/support/herlpers.rb
CHANGED
@@ -26,15 +26,6 @@ def configure
|
|
26
26
|
Debox::Config.stub(:config).and_return host: 'localhost', port: DEBOX_SERVER_PORT
|
27
27
|
end
|
28
28
|
|
29
|
-
# Build a job with stdout and capistrano methos stubbed
|
30
|
-
def stubbed_job(app, env, task='deploy', out=nil)
|
31
|
-
out = OpenStruct.new time: DateTime.now, success: true unless out
|
32
|
-
job = DeboxServer::Job.new(app, env, task)
|
33
|
-
job.stub(:stdout) { out }
|
34
|
-
job.stub(:capistrano) { { } }
|
35
|
-
return job
|
36
|
-
end
|
37
|
-
|
38
29
|
def run_command(args_str, options={})
|
39
30
|
args = args_str.split
|
40
31
|
given_command = args.shift.strip
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: debox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
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-
|
12
|
+
date: 2013-09-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json
|
@@ -103,9 +103,10 @@ files:
|
|
103
103
|
- .rspec
|
104
104
|
- Gemfile
|
105
105
|
- LICENSE
|
106
|
-
- README.
|
106
|
+
- README.org
|
107
107
|
- Rakefile
|
108
108
|
- bin/debox
|
109
|
+
- config/database.yml.sample
|
109
110
|
- debox.gemspec
|
110
111
|
- lib/debox.rb
|
111
112
|
- lib/debox/api.rb
|
@@ -122,6 +123,7 @@ files:
|
|
122
123
|
- lib/debox/command/login.rb
|
123
124
|
- lib/debox/command/logs.rb
|
124
125
|
- lib/debox/command/recipes.rb
|
126
|
+
- lib/debox/command/status.rb
|
125
127
|
- lib/debox/config.rb
|
126
128
|
- lib/debox/utils.rb
|
127
129
|
- lib/debox/version.rb
|
data/README.md
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
# Debox
|
2
|
-
|
3
|
-
Command line tool for Debox
|
4
|
-
|
5
|
-
## Installation
|
6
|
-
|
7
|
-
Add this line to your application's Gemfile:
|
8
|
-
|
9
|
-
gem 'debox'
|
10
|
-
|
11
|
-
And then execute:
|
12
|
-
|
13
|
-
$ bundle
|
14
|
-
|
15
|
-
Or install it yourself as:
|
16
|
-
|
17
|
-
$ gem install debox
|
18
|
-
|
19
|
-
## Usage
|
20
|
-
|
21
|
-
TODO: Write usage instructions here
|
22
|
-
|
23
|
-
## Contributing
|
24
|
-
|
25
|
-
1. Fork it
|
26
|
-
2. Create your feature branch (`git checkout -b my-new-feature`)
|
27
|
-
3. Commit your changes (`git commit -am 'Added some feature'`)
|
28
|
-
4. Push to the branch (`git push origin my-new-feature`)
|
29
|
-
5. Create new Pull Request
|