instigator 0.9 → 0.9.1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/instigator/version.rb +1 -1
- data/lib/jenkins.rb +3 -1
- data/lib/rails.rb +44 -0
- data/templates/rails/database_yml.tt +15 -0
- metadata +16 -2
data/lib/instigator/version.rb
CHANGED
data/lib/jenkins.rb
CHANGED
@@ -11,7 +11,9 @@ class Jenkins < Thor
|
|
11
11
|
|
12
12
|
desc "preflight", "Check for dependencies"
|
13
13
|
def preflight
|
14
|
-
jenkins_password
|
14
|
+
jenkins_password
|
15
|
+
jenkins_user
|
16
|
+
jenkins_server =~ /^http/ or abort "jenkins_server must be a fully qualified http or https URL" # sanity check
|
15
17
|
end
|
16
18
|
|
17
19
|
|
data/lib/rails.rb
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
$LOAD_PATH << File.join(File.dirname(__FILE__), '..', 'lib')
|
2
|
+
require 'instigator/util'
|
3
|
+
require 'git_config'
|
4
|
+
require 'thor'
|
5
|
+
|
6
|
+
# TODO abstract out the heroku stuff
|
7
|
+
class Rails < Thor
|
8
|
+
include GitConfig
|
9
|
+
include Thor::Actions
|
10
|
+
|
11
|
+
argument :name
|
12
|
+
|
13
|
+
def self.source_root
|
14
|
+
File.join(File.dirname(__FILE__), '..', 'templates', 'rails')
|
15
|
+
end
|
16
|
+
|
17
|
+
desc "preflight", "Check for preconditions"
|
18
|
+
def preflight
|
19
|
+
# bit rough and ready, but no heroku api for querying
|
20
|
+
# app namespace
|
21
|
+
abort "#{name} is already taken on heroku" unless
|
22
|
+
HTTParty.get("http://#{name}.heroku.com").code == 404
|
23
|
+
|
24
|
+
# these will abort anyway.
|
25
|
+
author && email
|
26
|
+
end
|
27
|
+
|
28
|
+
desc "setup", "set up a rails-on-heroku project"
|
29
|
+
def setup
|
30
|
+
|
31
|
+
guarded "git clone git://github.com/mwotton/railstemplate.git #{name}"
|
32
|
+
guarded "rm #{name}/config/database.yml"
|
33
|
+
template "database_yml.tt", "#{name}/config/database.yml"
|
34
|
+
Dir.chdir name do
|
35
|
+
system "git remote rm origin 2>/dev/null >/dev/null" # hide the evidence
|
36
|
+
guarded "heroku create #{name}"
|
37
|
+
File.open("runtests.sh", "w") do |f|
|
38
|
+
f.write "bundle exec rspec spec"
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
|
@@ -0,0 +1,15 @@
|
|
1
|
+
development:
|
2
|
+
adapter: postgresql
|
3
|
+
database: <%=name%>_dev
|
4
|
+
|
5
|
+
# Warning: The database defined as "test" will be erased and
|
6
|
+
# re-generated from your development database when you run "rake".
|
7
|
+
# Do not set this db to the same as development or production.
|
8
|
+
test:
|
9
|
+
adapter: postgresql
|
10
|
+
database: <%=name%>_test
|
11
|
+
|
12
|
+
production:
|
13
|
+
adapter: postgresql
|
14
|
+
database: <%=name%>_prod
|
15
|
+
|
metadata
CHANGED
@@ -1,11 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: instigator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 57
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 0
|
7
8
|
- 9
|
8
|
-
|
9
|
+
- 1
|
10
|
+
version: 0.9.1
|
9
11
|
platform: ruby
|
10
12
|
authors:
|
11
13
|
- Mark Wotton
|
@@ -13,7 +15,7 @@ autorequire:
|
|
13
15
|
bindir: bin
|
14
16
|
cert_chain: []
|
15
17
|
|
16
|
-
date: 2011-05-
|
18
|
+
date: 2011-05-10 00:00:00 +10:00
|
17
19
|
default_executable:
|
18
20
|
dependencies:
|
19
21
|
- !ruby/object:Gem::Dependency
|
@@ -24,6 +26,7 @@ dependencies:
|
|
24
26
|
requirements:
|
25
27
|
- - ">="
|
26
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 15424057
|
27
30
|
segments:
|
28
31
|
- 1
|
29
32
|
- 0
|
@@ -41,6 +44,7 @@ dependencies:
|
|
41
44
|
requirements:
|
42
45
|
- - ">="
|
43
46
|
- !ruby/object:Gem::Version
|
47
|
+
hash: 3
|
44
48
|
segments:
|
45
49
|
- 0
|
46
50
|
version: "0"
|
@@ -54,6 +58,7 @@ dependencies:
|
|
54
58
|
requirements:
|
55
59
|
- - ">="
|
56
60
|
- !ruby/object:Gem::Version
|
61
|
+
hash: 3
|
57
62
|
segments:
|
58
63
|
- 0
|
59
64
|
version: "0"
|
@@ -67,6 +72,7 @@ dependencies:
|
|
67
72
|
requirements:
|
68
73
|
- - ">="
|
69
74
|
- !ruby/object:Gem::Version
|
75
|
+
hash: 3
|
70
76
|
segments:
|
71
77
|
- 0
|
72
78
|
version: "0"
|
@@ -80,6 +86,7 @@ dependencies:
|
|
80
86
|
requirements:
|
81
87
|
- - ">="
|
82
88
|
- !ruby/object:Gem::Version
|
89
|
+
hash: 3
|
83
90
|
segments:
|
84
91
|
- 0
|
85
92
|
version: "0"
|
@@ -93,6 +100,7 @@ dependencies:
|
|
93
100
|
requirements:
|
94
101
|
- - ">="
|
95
102
|
- !ruby/object:Gem::Version
|
103
|
+
hash: 3
|
96
104
|
segments:
|
97
105
|
- 0
|
98
106
|
version: "0"
|
@@ -106,6 +114,7 @@ dependencies:
|
|
106
114
|
requirements:
|
107
115
|
- - ">="
|
108
116
|
- !ruby/object:Gem::Version
|
117
|
+
hash: 3
|
109
118
|
segments:
|
110
119
|
- 0
|
111
120
|
version: "0"
|
@@ -119,6 +128,7 @@ dependencies:
|
|
119
128
|
requirements:
|
120
129
|
- - ">="
|
121
130
|
- !ruby/object:Gem::Version
|
131
|
+
hash: 3
|
122
132
|
segments:
|
123
133
|
- 0
|
124
134
|
version: "0"
|
@@ -151,12 +161,14 @@ files:
|
|
151
161
|
- lib/instigator/util.rb
|
152
162
|
- lib/instigator/version.rb
|
153
163
|
- lib/jenkins.rb
|
164
|
+
- lib/rails.rb
|
154
165
|
- lib/sinatra.rb
|
155
166
|
- tasks/app.thor
|
156
167
|
- templates/README.tt
|
157
168
|
- templates/cabal.tt
|
158
169
|
- templates/config_xml.tt
|
159
170
|
- templates/module.tt
|
171
|
+
- templates/rails/database_yml.tt
|
160
172
|
- templates/test.tt
|
161
173
|
- templates/watchr.tt
|
162
174
|
has_rdoc: true
|
@@ -173,6 +185,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
173
185
|
requirements:
|
174
186
|
- - ">="
|
175
187
|
- !ruby/object:Gem::Version
|
188
|
+
hash: 3
|
176
189
|
segments:
|
177
190
|
- 0
|
178
191
|
version: "0"
|
@@ -181,6 +194,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
181
194
|
requirements:
|
182
195
|
- - ">="
|
183
196
|
- !ruby/object:Gem::Version
|
197
|
+
hash: 23
|
184
198
|
segments:
|
185
199
|
- 1
|
186
200
|
- 3
|