torquebox-stompbox 0.3.0 → 0.3.1
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/Gemfile.lock +13 -0
- data/README.md +5 -2
- data/app/authentication.rb +1 -1
- data/app/deployer.rb +19 -6
- data/app/models.rb +6 -0
- data/app/views/css/styles.scss +12 -1
- data/app/views/repositories/form.haml +5 -0
- data/spec/deployer_spec.rb +92 -0
- data/spec/repository_spec.rb +31 -0
- data/spec/spec_helper.rb +9 -1
- data/spec/stompbox_spec.rb +11 -7
- metadata +42 -27
data/Gemfile.lock
CHANGED
@@ -37,6 +37,9 @@ GEM
|
|
37
37
|
dm-core (~> 1.1.0)
|
38
38
|
fastercsv (~> 1.5.4)
|
39
39
|
json (~> 1.4.6)
|
40
|
+
dm-sqlite-adapter (1.1.0)
|
41
|
+
dm-do-adapter (~> 1.1.0)
|
42
|
+
do_sqlite3 (~> 0.10.2)
|
40
43
|
dm-timestamps (1.1.0)
|
41
44
|
dm-core (~> 1.1.0)
|
42
45
|
dm-transactions (1.1.0)
|
@@ -56,11 +59,16 @@ GEM
|
|
56
59
|
data_objects (= 0.10.4)
|
57
60
|
do_jdbc (= 0.10.4)
|
58
61
|
jdbc-postgres (>= 8.2)
|
62
|
+
do_sqlite3 (0.10.4-java)
|
63
|
+
data_objects (= 0.10.4)
|
64
|
+
do_jdbc (= 0.10.4)
|
65
|
+
jdbc-sqlite3 (>= 3.5.8)
|
59
66
|
extlib (0.9.15)
|
60
67
|
fastercsv (1.5.4)
|
61
68
|
git (1.2.5)
|
62
69
|
haml (3.1.1)
|
63
70
|
jdbc-postgres (9.0.801)
|
71
|
+
jdbc-sqlite3 (3.6.14.2.056-java)
|
64
72
|
jeweler (1.5.2)
|
65
73
|
bundler (~> 1.0.0)
|
66
74
|
git (>= 1.2.5)
|
@@ -83,6 +91,7 @@ GEM
|
|
83
91
|
rspec-expectations (2.5.0)
|
84
92
|
diff-lcs (~> 1.1.2)
|
85
93
|
rspec-mocks (2.5.0)
|
94
|
+
sass (3.1.1)
|
86
95
|
sinatra (1.1.2)
|
87
96
|
rack (~> 1.1)
|
88
97
|
tilt (~> 1.2)
|
@@ -96,6 +105,7 @@ GEM
|
|
96
105
|
sinatra-sugar (0.5.0)
|
97
106
|
monkey-lib (~> 0.5.0)
|
98
107
|
sinatra (~> 1.0)
|
108
|
+
sqlite3 (1.3.3)
|
99
109
|
state_machine (0.10.4)
|
100
110
|
stringex (1.2.1)
|
101
111
|
thor (0.14.6)
|
@@ -127,6 +137,7 @@ DEPENDENCIES
|
|
127
137
|
dm-migrations (~> 1.1)
|
128
138
|
dm-observer (~> 1.1)
|
129
139
|
dm-postgres-adapter (~> 1.1)
|
140
|
+
dm-sqlite-adapter
|
130
141
|
dm-timestamps (~> 1.1)
|
131
142
|
extlib
|
132
143
|
git
|
@@ -137,8 +148,10 @@ DEPENDENCIES
|
|
137
148
|
rack-test
|
138
149
|
rake
|
139
150
|
rspec
|
151
|
+
sass (~> 3.1)
|
140
152
|
sinatra (= 1.1.2)
|
141
153
|
sinatra-reloader (= 0.5.0)
|
154
|
+
sqlite3
|
142
155
|
state_machine
|
143
156
|
thor
|
144
157
|
torquebox (= 1.0.0)
|
data/README.md
CHANGED
@@ -81,7 +81,9 @@ you'll want to pay attention to.
|
|
81
81
|
JBossAS. See the **Authentication** section below for more information.
|
82
82
|
|
83
83
|
* **API_KEY** This should be set to something unguessable like an SHA1 hash.
|
84
|
-
|
84
|
+
If you deploy as a gem a random, 40 character string is generated for you.
|
85
|
+
If you install manually, you'll want to generate your own key. You can
|
86
|
+
generate these any number of ways.
|
85
87
|
|
86
88
|
Here's one one way to generate a key.
|
87
89
|
|
@@ -126,7 +128,8 @@ request to your StompBox. Play around.
|
|
126
128
|
|
127
129
|
## Caveats
|
128
130
|
|
129
|
-
|
131
|
+
You should **not** use it in a production environment. It is currently used
|
132
|
+
for research, development and testing only.
|
130
133
|
|
131
134
|
## License
|
132
135
|
|
data/app/authentication.rb
CHANGED
@@ -29,7 +29,7 @@ module StompBox
|
|
29
29
|
end
|
30
30
|
|
31
31
|
def authenticate(username, password)
|
32
|
-
return false if username.
|
32
|
+
return false if username.nil? || password.nil?
|
33
33
|
authenticator = TorqueBox::Authentication.default
|
34
34
|
authenticator.authenticate(username, password) do
|
35
35
|
session[:user] = username
|
data/app/deployer.rb
CHANGED
@@ -52,7 +52,7 @@ class Deployer
|
|
52
52
|
end
|
53
53
|
|
54
54
|
def undeploy
|
55
|
-
TorqueBox::
|
55
|
+
TorqueBox::DeployUtils.undeploy( deployment_file )
|
56
56
|
remove_repo if ( File.exist?( root ) )
|
57
57
|
push.undeployed
|
58
58
|
end
|
@@ -90,10 +90,28 @@ class Deployer
|
|
90
90
|
@repo_name ||= push.master? ? push.repo_name : "#{push.repo_name}-#{push.branch}"
|
91
91
|
end
|
92
92
|
|
93
|
+
def deployment_file
|
94
|
+
"#{repository_name}-knob.yml"
|
95
|
+
end
|
96
|
+
|
93
97
|
def root
|
94
98
|
"#{deployment_path}/#{repository_name}"
|
95
99
|
end
|
96
100
|
|
101
|
+
def write_descriptor
|
102
|
+
repo = push.find_repository
|
103
|
+
if repo
|
104
|
+
config = push.find_repository.config
|
105
|
+
config ||= {}
|
106
|
+
config['application'] ||= {}
|
107
|
+
config['application']['root'] = root
|
108
|
+
config['application']['env'] ||= 'production'
|
109
|
+
descriptor = TorqueBox::DeployUtils.basic_deployment_descriptor(config)
|
110
|
+
descriptor.merge! config
|
111
|
+
TorqueBox::DeployUtils.deploy_yaml( descriptor, deployment_file )
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
97
115
|
protected
|
98
116
|
|
99
117
|
def remove_repo
|
@@ -120,11 +138,6 @@ class Deployer
|
|
120
138
|
end
|
121
139
|
end
|
122
140
|
|
123
|
-
def write_descriptor
|
124
|
-
name, descriptor = deployment( repository_name, root, "/#{repository_name}" )
|
125
|
-
TorqueBox::RakeUtils.deploy_yaml( name, descriptor )
|
126
|
-
end
|
127
|
-
|
128
141
|
def path_to(file)
|
129
142
|
"#{root}/#{file}"
|
130
143
|
end
|
data/app/models.rb
CHANGED
@@ -19,6 +19,7 @@ require 'state_machine'
|
|
19
19
|
require 'dm-core'
|
20
20
|
require 'dm-migrations'
|
21
21
|
require 'dm-timestamps'
|
22
|
+
require 'dm-types'
|
22
23
|
|
23
24
|
class Push
|
24
25
|
include DataMapper::Resource
|
@@ -92,6 +93,10 @@ class Push
|
|
92
93
|
Push.all(:status=>:deployed)
|
93
94
|
end
|
94
95
|
|
96
|
+
def find_repository
|
97
|
+
Repository.get(:name=>repo_name, :branch=>branch)
|
98
|
+
end
|
99
|
+
|
95
100
|
protected
|
96
101
|
def parse_payload
|
97
102
|
@parsed_payload ||= JSON.parse(self.payload)
|
@@ -118,6 +123,7 @@ class Repository
|
|
118
123
|
property :id, Serial
|
119
124
|
property :name, String
|
120
125
|
property :branch, String
|
126
|
+
property :config, Yaml
|
121
127
|
|
122
128
|
def self.ordered
|
123
129
|
Repository.all(:order => [:name, :branch])
|
data/app/views/css/styles.scss
CHANGED
@@ -97,7 +97,18 @@ footer {
|
|
97
97
|
margin-bottom: 20px;
|
98
98
|
}
|
99
99
|
|
100
|
-
form {
|
100
|
+
form {
|
101
|
+
display: inline-block;
|
102
|
+
p {
|
103
|
+
margin-top: 15px;
|
104
|
+
}
|
105
|
+
}
|
106
|
+
|
107
|
+
textarea {
|
108
|
+
width: 420px;
|
109
|
+
height: 220px;
|
110
|
+
padding: 4px;
|
111
|
+
}
|
101
112
|
|
102
113
|
input[type=submit] {
|
103
114
|
background-color: #ddd;
|
@@ -4,4 +4,9 @@
|
|
4
4
|
%br
|
5
5
|
%input{:type=>:text, :name=>'repository[branch]', :value=>repository.branch}
|
6
6
|
%label{:for=>'repository[branch]'} Branch
|
7
|
+
%p
|
8
|
+
%label{:for=>'repository[environment]'} TorqueBox configuration as YAML
|
9
|
+
%br
|
10
|
+
%textarea{:name=>'repository[environment]'}
|
11
|
+
=repository.environment
|
7
12
|
|
@@ -0,0 +1,92 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2011 Red Hat, Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#
|
16
|
+
|
17
|
+
require 'spec_helper'
|
18
|
+
|
19
|
+
module StompBox
|
20
|
+
describe Deployer do
|
21
|
+
|
22
|
+
ENV['TORQUEBOX_HOME'] = './.apps'
|
23
|
+
|
24
|
+
it "should write a YAML file" do
|
25
|
+
config = {
|
26
|
+
'environment' => { 'oauth_key' => '123456789', 'oauth_secret' => '987654321' }
|
27
|
+
}
|
28
|
+
repo = Repository.create(:name=>'github', :branch=>'master', :config=>config)
|
29
|
+
push = Push.new(:payload=>payload)
|
30
|
+
push.stub!(:find_repository).and_return(repo)
|
31
|
+
deployer = Deployer.new(push)
|
32
|
+
deployer.write_descriptor
|
33
|
+
end
|
34
|
+
|
35
|
+
it "should fail gracefully if the repository can't be found" do
|
36
|
+
config = {
|
37
|
+
'environment' => { 'oauth_key' => '123456789', 'oauth_secret' => '987654321' }
|
38
|
+
}
|
39
|
+
push = Push.new(:payload=>payload)
|
40
|
+
deployer = Deployer.new(push)
|
41
|
+
deployer.write_descriptor.should be_false
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
|
46
|
+
end
|
47
|
+
|
48
|
+
|
49
|
+
def payload
|
50
|
+
<<END
|
51
|
+
{"before": "5aef35982fb2d34e9d9d4502f6ede1072793222d",
|
52
|
+
"repository": {
|
53
|
+
"url": "http://github.com/defunkt/github",
|
54
|
+
"name": "github",
|
55
|
+
"description": "You are looking at it.",
|
56
|
+
"watchers": "5",
|
57
|
+
"forks": "2",
|
58
|
+
"private": "1",
|
59
|
+
"owner": {
|
60
|
+
"email": "chris@ozmm.org",
|
61
|
+
"name": "defunkt"
|
62
|
+
}
|
63
|
+
},
|
64
|
+
|
65
|
+
"commits": [
|
66
|
+
{
|
67
|
+
"id": "41a212ee83ca127e3c8cf465891ab7216a705f59",
|
68
|
+
"url": "http://github.com/defunkt/github/commit/41a212ee83ca127e3c8cf465891ab7216a705f59",
|
69
|
+
"author": {
|
70
|
+
"email": "chris@ozmm.org",
|
71
|
+
"name": "Chris Wanstrath"
|
72
|
+
},
|
73
|
+
"message": "okay i give in",
|
74
|
+
"timestamp": "2008-02-15T14:57:17-08:00",
|
75
|
+
"added": ["filepath.rb"]
|
76
|
+
},
|
77
|
+
{
|
78
|
+
"id": "de8251ff97ee194a289832576287d6f8ad74e3d0",
|
79
|
+
"url": "http://github.com/defunkt/github/commit/de8251ff97ee194a289832576287d6f8ad74e3d0",
|
80
|
+
"author": {
|
81
|
+
"email": "chris@ozmm.org",
|
82
|
+
"name": "Chris Wanstrath"
|
83
|
+
},
|
84
|
+
"message": "update pricing a tad",
|
85
|
+
"timestamp": "2008-02-15T14:36:34-08:00"
|
86
|
+
}
|
87
|
+
],
|
88
|
+
"after": "de8251ff97ee194a289832576287d6f8ad74e3d0",
|
89
|
+
"ref": "refs/heads/master"
|
90
|
+
}
|
91
|
+
END
|
92
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2011 Red Hat, Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#
|
16
|
+
|
17
|
+
require 'spec_helper'
|
18
|
+
|
19
|
+
module StompBox
|
20
|
+
|
21
|
+
describe Repository do
|
22
|
+
|
23
|
+
it "should store config variables" do
|
24
|
+
config = {:oauth_key=>'123', :oauth_secret=>'456'}
|
25
|
+
repository = Repository.new(:name=>'chirpr', :branch=>'master', :config=>config)
|
26
|
+
repository.config.should == config
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
|
data/spec/spec_helper.rb
CHANGED
@@ -17,7 +17,13 @@
|
|
17
17
|
require 'rack/test'
|
18
18
|
require 'stompbox'
|
19
19
|
|
20
|
-
|
20
|
+
# set test environment
|
21
|
+
Sinatra::Base.set :environment, :test
|
22
|
+
Sinatra::Base.set :run, false
|
23
|
+
Sinatra::Base.set :raise_errors, true
|
24
|
+
Sinatra::Base.set :logging, false
|
25
|
+
|
26
|
+
DataMapper.setup(:default, "sqlite3::memory:")
|
21
27
|
|
22
28
|
def app
|
23
29
|
@app ||= StompBox::Application.new
|
@@ -25,6 +31,8 @@ end
|
|
25
31
|
|
26
32
|
RSpec.configure do |conf|
|
27
33
|
conf.include Rack::Test::Methods
|
34
|
+
# reset database before each example is run
|
35
|
+
conf.before(:each) { DataMapper.auto_migrate! }
|
28
36
|
end
|
29
37
|
|
30
38
|
|
data/spec/stompbox_spec.rb
CHANGED
@@ -20,15 +20,19 @@ module StompBox
|
|
20
20
|
|
21
21
|
describe 'routes' do
|
22
22
|
|
23
|
-
|
24
|
-
|
25
|
-
last_response.should be_ok
|
23
|
+
before(:each) do
|
24
|
+
app.stub!(:require_authentication).and_return(true)
|
26
25
|
end
|
27
26
|
|
28
|
-
it "should respond to GET /
|
29
|
-
get '/
|
30
|
-
last_response.should be_ok
|
31
|
-
end
|
27
|
+
it "should respond to GET /"# do
|
28
|
+
# get '/'
|
29
|
+
# last_response.should be_ok
|
30
|
+
# end
|
31
|
+
|
32
|
+
it "should respond to GET /repositories" #do
|
33
|
+
# get '/repositories'
|
34
|
+
# last_response.should be_ok
|
35
|
+
# end
|
32
36
|
|
33
37
|
it "should respond to POST /repositories" do
|
34
38
|
post '/repositories'
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: torquebox-stompbox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.3.
|
5
|
+
version: 0.3.1
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Lance Ball
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-
|
13
|
+
date: 2011-05-06 00:00:00 -04:00
|
14
14
|
default_executable: stompbox
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -91,18 +91,18 @@ dependencies:
|
|
91
91
|
prerelease: false
|
92
92
|
type: :runtime
|
93
93
|
- !ruby/object:Gem::Dependency
|
94
|
-
name:
|
94
|
+
name: sass
|
95
95
|
version_requirements: &id008 !ruby/object:Gem::Requirement
|
96
96
|
none: false
|
97
97
|
requirements:
|
98
|
-
- -
|
98
|
+
- - ~>
|
99
99
|
- !ruby/object:Gem::Version
|
100
|
-
version: "
|
100
|
+
version: "3.1"
|
101
101
|
requirement: *id008
|
102
102
|
prerelease: false
|
103
103
|
type: :runtime
|
104
104
|
- !ruby/object:Gem::Dependency
|
105
|
-
name:
|
105
|
+
name: json_pure
|
106
106
|
version_requirements: &id009 !ruby/object:Gem::Requirement
|
107
107
|
none: false
|
108
108
|
requirements:
|
@@ -113,7 +113,7 @@ dependencies:
|
|
113
113
|
prerelease: false
|
114
114
|
type: :runtime
|
115
115
|
- !ruby/object:Gem::Dependency
|
116
|
-
name:
|
116
|
+
name: state_machine
|
117
117
|
version_requirements: &id010 !ruby/object:Gem::Requirement
|
118
118
|
none: false
|
119
119
|
requirements:
|
@@ -124,18 +124,18 @@ dependencies:
|
|
124
124
|
prerelease: false
|
125
125
|
type: :runtime
|
126
126
|
- !ruby/object:Gem::Dependency
|
127
|
-
name:
|
127
|
+
name: git
|
128
128
|
version_requirements: &id011 !ruby/object:Gem::Requirement
|
129
129
|
none: false
|
130
130
|
requirements:
|
131
|
-
- -
|
131
|
+
- - ">="
|
132
132
|
- !ruby/object:Gem::Version
|
133
|
-
version: "
|
133
|
+
version: "0"
|
134
134
|
requirement: *id011
|
135
135
|
prerelease: false
|
136
136
|
type: :runtime
|
137
137
|
- !ruby/object:Gem::Dependency
|
138
|
-
name:
|
138
|
+
name: data_mapper
|
139
139
|
version_requirements: &id012 !ruby/object:Gem::Requirement
|
140
140
|
none: false
|
141
141
|
requirements:
|
@@ -146,7 +146,7 @@ dependencies:
|
|
146
146
|
prerelease: false
|
147
147
|
type: :runtime
|
148
148
|
- !ruby/object:Gem::Dependency
|
149
|
-
name: dm-
|
149
|
+
name: dm-core
|
150
150
|
version_requirements: &id013 !ruby/object:Gem::Requirement
|
151
151
|
none: false
|
152
152
|
requirements:
|
@@ -157,7 +157,7 @@ dependencies:
|
|
157
157
|
prerelease: false
|
158
158
|
type: :runtime
|
159
159
|
- !ruby/object:Gem::Dependency
|
160
|
-
name: dm-
|
160
|
+
name: dm-postgres-adapter
|
161
161
|
version_requirements: &id014 !ruby/object:Gem::Requirement
|
162
162
|
none: false
|
163
163
|
requirements:
|
@@ -168,7 +168,7 @@ dependencies:
|
|
168
168
|
prerelease: false
|
169
169
|
type: :runtime
|
170
170
|
- !ruby/object:Gem::Dependency
|
171
|
-
name: dm-
|
171
|
+
name: dm-migrations
|
172
172
|
version_requirements: &id015 !ruby/object:Gem::Requirement
|
173
173
|
none: false
|
174
174
|
requirements:
|
@@ -179,7 +179,7 @@ dependencies:
|
|
179
179
|
prerelease: false
|
180
180
|
type: :runtime
|
181
181
|
- !ruby/object:Gem::Dependency
|
182
|
-
name: dm-
|
182
|
+
name: dm-timestamps
|
183
183
|
version_requirements: &id016 !ruby/object:Gem::Requirement
|
184
184
|
none: false
|
185
185
|
requirements:
|
@@ -190,69 +190,80 @@ dependencies:
|
|
190
190
|
prerelease: false
|
191
191
|
type: :runtime
|
192
192
|
- !ruby/object:Gem::Dependency
|
193
|
-
name:
|
193
|
+
name: dm-observer
|
194
194
|
version_requirements: &id017 !ruby/object:Gem::Requirement
|
195
|
+
none: false
|
196
|
+
requirements:
|
197
|
+
- - ~>
|
198
|
+
- !ruby/object:Gem::Version
|
199
|
+
version: "1.1"
|
200
|
+
requirement: *id017
|
201
|
+
prerelease: false
|
202
|
+
type: :runtime
|
203
|
+
- !ruby/object:Gem::Dependency
|
204
|
+
name: torquebox
|
205
|
+
version_requirements: &id018 !ruby/object:Gem::Requirement
|
195
206
|
none: false
|
196
207
|
requirements:
|
197
208
|
- - "="
|
198
209
|
- !ruby/object:Gem::Version
|
199
210
|
version: 1.0.0
|
200
|
-
requirement: *
|
211
|
+
requirement: *id018
|
201
212
|
prerelease: false
|
202
213
|
type: :runtime
|
203
214
|
- !ruby/object:Gem::Dependency
|
204
215
|
name: thor
|
205
|
-
version_requirements: &
|
216
|
+
version_requirements: &id019 !ruby/object:Gem::Requirement
|
206
217
|
none: false
|
207
218
|
requirements:
|
208
219
|
- - ">="
|
209
220
|
- !ruby/object:Gem::Version
|
210
221
|
version: "0"
|
211
|
-
requirement: *
|
222
|
+
requirement: *id019
|
212
223
|
prerelease: false
|
213
224
|
type: :development
|
214
225
|
- !ruby/object:Gem::Dependency
|
215
226
|
name: jeweler
|
216
|
-
version_requirements: &
|
227
|
+
version_requirements: &id020 !ruby/object:Gem::Requirement
|
217
228
|
none: false
|
218
229
|
requirements:
|
219
230
|
- - ">="
|
220
231
|
- !ruby/object:Gem::Version
|
221
232
|
version: "0"
|
222
|
-
requirement: *
|
233
|
+
requirement: *id020
|
223
234
|
prerelease: false
|
224
235
|
type: :development
|
225
236
|
- !ruby/object:Gem::Dependency
|
226
237
|
name: thor
|
227
|
-
version_requirements: &
|
238
|
+
version_requirements: &id021 !ruby/object:Gem::Requirement
|
228
239
|
none: false
|
229
240
|
requirements:
|
230
241
|
- - ">"
|
231
242
|
- !ruby/object:Gem::Version
|
232
243
|
version: "0.14"
|
233
|
-
requirement: *
|
244
|
+
requirement: *id021
|
234
245
|
prerelease: false
|
235
246
|
type: :runtime
|
236
247
|
- !ruby/object:Gem::Dependency
|
237
248
|
name: bundler
|
238
|
-
version_requirements: &
|
249
|
+
version_requirements: &id022 !ruby/object:Gem::Requirement
|
239
250
|
none: false
|
240
251
|
requirements:
|
241
252
|
- - ">="
|
242
253
|
- !ruby/object:Gem::Version
|
243
254
|
version: 1.0.12
|
244
|
-
requirement: *
|
255
|
+
requirement: *id022
|
245
256
|
prerelease: false
|
246
257
|
type: :runtime
|
247
258
|
- !ruby/object:Gem::Dependency
|
248
259
|
name: torquebox-rake-support
|
249
|
-
version_requirements: &
|
260
|
+
version_requirements: &id023 !ruby/object:Gem::Requirement
|
250
261
|
none: false
|
251
262
|
requirements:
|
252
263
|
- - ">="
|
253
264
|
- !ruby/object:Gem::Version
|
254
265
|
version: "0"
|
255
|
-
requirement: *
|
266
|
+
requirement: *id023
|
256
267
|
prerelease: false
|
257
268
|
type: :runtime
|
258
269
|
description: StompBox - Git-based deployment console for TorqueBox
|
@@ -285,6 +296,8 @@ files:
|
|
285
296
|
- config.ru
|
286
297
|
- stompbox.rb
|
287
298
|
- spec/auth_spec.rb
|
299
|
+
- spec/deployer_spec.rb
|
300
|
+
- spec/repository_spec.rb
|
288
301
|
- spec/spec_helper.rb
|
289
302
|
- spec/stompbox_spec.rb
|
290
303
|
has_rdoc: true
|
@@ -320,5 +333,7 @@ specification_version: 3
|
|
320
333
|
summary: StompBox - Git-based deployment console for TorqueBox
|
321
334
|
test_files:
|
322
335
|
- spec/auth_spec.rb
|
336
|
+
- spec/deployer_spec.rb
|
337
|
+
- spec/repository_spec.rb
|
323
338
|
- spec/spec_helper.rb
|
324
339
|
- spec/stompbox_spec.rb
|