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.
@@ -1,3 +1,3 @@
1
1
  module Instigator
2
- VERSION = "0.9"
2
+ VERSION = "0.9.1"
3
3
  end
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 && jenkins_user
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
- version: "0.9"
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-08 00:00:00 +10:00
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