instigator 0.9 → 0.9.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/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
|