universe-rails 0.1.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.
Files changed (6) hide show
  1. data/README.md +27 -0
  2. data/Rakefile +42 -0
  3. data/universe.rb +347 -0
  4. data/universe_dsl.rb +56 -0
  5. data/version +1 -0
  6. metadata +174 -0
@@ -0,0 +1,27 @@
1
+ = Universe
2
+
3
+ Use this to set up a fully functional ruby stack:
4
+
5
+ gem install universe
6
+
7
+ You can also easily install just a subset:
8
+
9
+ gem install universe-core
10
+ gem install universe-rails
11
+ gem install univers-sinatra
12
+ ...
13
+
14
+ Up to date list of universes: https://rubygems.org/gems/universe
15
+ Also, for the complete gem list, see `universe.rb`.
16
+
17
+ Should install without hassle on 1.8.7, 1.9.2 (and later), JRuby 1.6.0 (and later), Rubinius 1.2.0 (and later).
18
+ Might work on other Rubies, too.
19
+
20
+ == Common, but not included (install manually)
21
+
22
+ Due to compatibility issues, these gems are missing:
23
+
24
+ * `hwia`
25
+ * `ruby_debug`
26
+ * `ruby-prof`
27
+ * `ruby2ruby`
@@ -0,0 +1,42 @@
1
+ require 'rake/clean'
2
+ CLEAN.push(*FileList["*.gem"])
3
+
4
+ universe = nil
5
+ version = File.read('version')
6
+
7
+ task :universe do
8
+ require 'universe_dsl'
9
+ universe = Universe.new :universe, version
10
+ universe.load 'universe.rb'
11
+ end
12
+
13
+ desc "increases version number"
14
+ task :bump_version do
15
+ version.succ!
16
+ File.open('version', 'w') { |f| f << version }
17
+ end
18
+
19
+ desc "build all the gems"
20
+ task :build => :universe do
21
+ universe.build_all
22
+ end
23
+
24
+ desc "display generated gemspecs"
25
+ task :gemspecs => :universe do
26
+ puts universe.map { |u| "\n" << ("#"*80) << "\n# spec for #{u.name}\n" << u.to_spec.to_ruby }
27
+ end
28
+
29
+ desc 'push all gems in folder'
30
+ task :push do
31
+ gems = Dir.glob('*.gem')
32
+ gems.reject! do |f|
33
+ case result = `gem push #{f}`
34
+ when /Success/ then true
35
+ when /Please specify dependencies that exist on RubyGems.org: universe-/ then false
36
+ else fail result
37
+ end
38
+ end
39
+ end
40
+
41
+ desc 'bump_version, build, release'
42
+ task :release => [:bump_version, :build, :push]
@@ -0,0 +1,347 @@
1
+ group :core do
2
+ gem 'backports'
3
+ gem 'bundler'
4
+ gem 'rake'
5
+ end
6
+
7
+ group :devtools do
8
+ gem 'gem-open'
9
+ gem 'gem-release'
10
+ gem 'hoe'
11
+ gem 'jeweler'
12
+ gem 'bond'
13
+ gem 'bcat'
14
+ gem 'cheat'
15
+ gem 'churn'
16
+ gem 'faraday'
17
+ gem 'ghost'
18
+ gem 'github'
19
+ gem 'hammertime'
20
+ gem 'hanna'
21
+ gem 'hanna-nouveau'
22
+ gem 'hirb'
23
+ gem 'htty'
24
+ gem 'jsonpretty'
25
+ gem 'livereload'
26
+ gem 'memprof'
27
+ gem 'metric_fu'
28
+ gem 'newgem'
29
+ gem 'octopi'
30
+ gem 'rake-compiler'
31
+ gem 'rdoc'
32
+ gem 'rip'
33
+ gem 'ripl'
34
+ gem 'rocco'
35
+ gem 'rubygems-test'
36
+ gem 'sdoc'
37
+ gem 'showoff'
38
+ gem 'whenever'
39
+ gem 'yard'
40
+ gem 'yard-rspec'
41
+
42
+ gem 'universe-testing'
43
+ gem 'universe-core'
44
+ end
45
+
46
+ # common stuff I don't want to have in core, but haven't split up into categories
47
+ group :common do
48
+ gem 'chronic'
49
+ gem 'bson'
50
+ gem 'crack'
51
+ gem 'universe-devtools'
52
+ gem 'capture_stdout'
53
+ gem 'curb'
54
+ gem 'diff-lcs'
55
+ gem 'directory_watcher'
56
+ gem 'em-http-request'
57
+ gem 'em-websocket'
58
+ gem 'escape_utils'
59
+ gem 'eventmachine'
60
+ gem 'extlib'
61
+ gem 'facets'
62
+ gem 'highline'
63
+ gem 'httparty'
64
+ gem 'http_parser.rb'
65
+ gem 'i18n'
66
+ gem 'json_pure'
67
+ gem 'log4r'
68
+ gem 'main'
69
+ gem 'mechanize'
70
+ gem 'mime-types'
71
+ gem 'mutter'
72
+ gem 'net-ldap'
73
+ gem 'net-scp'
74
+ gem 'net-ssh'
75
+ gem 'nokogiri'
76
+ gem 'oauth'
77
+ gem 'oauth2'
78
+ gem 'omniauth'
79
+ gem 'open4'
80
+ gem 'prawn'
81
+ gem 'preforker'
82
+ gem 'redgreen'
83
+ gem 'rest-client'
84
+ gem 'rev'
85
+ gem 'rubigen'
86
+ gem 'ruby-fsevent'
87
+ gem 'ruby-hmac'
88
+ gem 'ruby-openid'
89
+ gem 'ruby_parser'
90
+ gem 'rubyzip'
91
+ gem 'spawn'
92
+ gem 'stackdeck'
93
+ gem 'starling'
94
+ gem 'thor'
95
+ gem 'trollop'
96
+ gem 'typhoeus'
97
+ gem 'tzinfo'
98
+ gem 'yajl-ruby'
99
+ end
100
+
101
+ group :testing do
102
+ gem 'rspec'
103
+ gem 'fuubar'
104
+ gem 'mspec'
105
+ gem 'bacon'
106
+ gem 'test-unit'
107
+ gem 'test-spec'
108
+ gem 'minitest'
109
+ gem 'protest'
110
+ gem 'contest'
111
+ gem 'cucumber'
112
+ gem 'steak'
113
+ gem 'ZenTest'
114
+ gem 'delorean'
115
+ gem 'database_cleaner'
116
+ gem 'spork'
117
+ gem 'autotest-growl'
118
+ gem 'expectations'
119
+ gem 'fakefs'
120
+ gem 'faker'
121
+ gem 'fakeweb'
122
+ gem 'ffaker'
123
+ gem 'ffi'
124
+ gem 'flay'
125
+ gem 'flexmock'
126
+ gem 'flog'
127
+ gem 'heckle'
128
+ gem 'mocha'
129
+ gem 'rcov'
130
+ gem 'reek'
131
+ gem 'riot'
132
+ gem 'roodi'
133
+ gem 'rr'
134
+ gem 'selenium-client'
135
+ gem 'selenium-webdriver'
136
+ gem 'shoulda'
137
+ gem 'test_declarative'
138
+ gem 'timecop'
139
+ gem 'webmock'
140
+
141
+ gem 'universe-rack-testing'
142
+ gem 'universe-rails-testing'
143
+ end
144
+
145
+ group :rack do
146
+ gem 'http_router'
147
+ gem 'rack'
148
+ gem 'rack-abstract-format'
149
+ gem 'rack-accept-media-types'
150
+ gem 'rack-aggregate'
151
+ gem 'rack-bug'
152
+ gem 'rack-cache'
153
+ gem 'rack-contrib'
154
+ gem 'rack-cors'
155
+ gem 'rack-fiber_pool'
156
+ gem 'rack-flash'
157
+ gem 'rack-html5'
158
+ gem 'rack-mount'
159
+ gem 'rack-nocache'
160
+ gem 'rack-offline'
161
+ gem 'rack-openid'
162
+ gem 'rack-pack'
163
+ gem 'rack-respond_to'
164
+ gem 'rum'
165
+ gem 'shotgun'
166
+ gem 'toto'
167
+ gem 'url_mount'
168
+ gem 'usher'
169
+ gem 'warden'
170
+
171
+ group :testing do
172
+ gem 'rack-test'
173
+ gem 'capybara'
174
+ gem 'selenium'
175
+ gem 'celerity'
176
+ gem 'culerity'
177
+ gem 'capybara-envjs'
178
+ gem 'envjs'
179
+ gem 'jasmine'
180
+ gem 'sham_rack'
181
+ gem 'webrat'
182
+ end
183
+
184
+ gem 'universe-webserver'
185
+ end
186
+
187
+ group :db do
188
+ gem 'activerecord'
189
+ gem 'couchrest'
190
+ gem 'database_cleaner'
191
+ gem 'datamapper'
192
+ gem 'dm-sqlite-adapter'
193
+ gem 'do_mysql'
194
+ gem 'do_sqlite3'
195
+ gem 'em-redis'
196
+ gem 'hiredis'
197
+ gem 'memcache-client'
198
+ gem 'mongo'
199
+ gem 'mongo_ext'
200
+ gem 'mongo_mapper'
201
+ gem 'mongoid'
202
+ gem 'mysql'
203
+ gem 'mysql2'
204
+ gem 'mysqlplus'
205
+ gem 'nest'
206
+ gem 'ohm'
207
+ gem 'pg'
208
+ gem 'postgres'
209
+ gem 'redis'
210
+ gem 'redis-store'
211
+ gem 'remcached'
212
+ gem 'sequel'
213
+ gem 'sqlite3-ruby'
214
+ gem 'taps'
215
+ end
216
+
217
+ group :webframeworks do
218
+ gem 'camping'
219
+ gem 'cramp'
220
+ gem 'halcyon'
221
+ gem 'padrino'
222
+ gem 'merb'
223
+ gem 'ramaze'
224
+ gem 'universe-rails'
225
+ gem 'universe-sinatra'
226
+ end
227
+
228
+ group :webserver do
229
+ gem 'ebb'
230
+ gem 'eventmachine_httpserver'
231
+ gem 'fcgi'
232
+ gem 'heroku'
233
+ gem 'mongrel'
234
+ gem 'passenger'
235
+ gem 'rainbows'
236
+ gem 'scgi'
237
+ gem 'serv'
238
+ gem 'serverside'
239
+ gem 'sunshowers'
240
+ gem 'swiftiply'
241
+ gem 'thin'
242
+ gem 'unicorn'
243
+ gem 'webroar'
244
+ gem 'zbatery'
245
+ end
246
+
247
+ group :staticweb do
248
+ gem 'jekyll'
249
+ gem 'nanoc3'
250
+ gem 'staticmatic'
251
+ gem 'universe-templates'
252
+ end
253
+
254
+ group :rails do
255
+ gem 'rails'
256
+ gem 'devise'
257
+ gem 'formtastic'
258
+ gem 'will_paginate'
259
+
260
+ group :testing do
261
+ gem 'factory_girl'
262
+ gem 'object_daddy'
263
+ gem 'populator'
264
+ gem 'rspec-rails'
265
+ gem 'universe-rack-testing'
266
+ end
267
+
268
+ gem 'universe-rack', version
269
+ gem 'universe-db', version
270
+ end
271
+
272
+ group :javascript do
273
+ gem 'coffee-script'
274
+ gem 'envjs'
275
+ gem 'harmony'
276
+ gem 'jasmine'
277
+ gem 'johnson'
278
+ gem 'taka'
279
+ gem 'therubyracer'
280
+ end
281
+
282
+ group :parsing do
283
+ gem 'ghostwheel'
284
+ gem 'parslet'
285
+ gem 'pegarus'
286
+ gem 'racc'
287
+ gem 'rexical'
288
+ gem 'sexp_path'
289
+ gem 'sexp_processor'
290
+ gem 'stemmer'
291
+ gem 'treetop'
292
+ end
293
+
294
+ group :templates do
295
+ gem 'tilt'
296
+ gem 'builder'
297
+ gem 'bluecloth'
298
+ gem 'bureaucrat'
299
+ gem 'coderay'
300
+ gem 'coffee-script'
301
+ gem 'compass'
302
+ gem 'erubis'
303
+ gem 'github-markup'
304
+ gem 'haml'
305
+ gem 'haml-more'
306
+ gem 'less'
307
+ gem 'liquid'
308
+ gem 'markaby'
309
+ gem 'maruku'
310
+ gem 'mustache'
311
+ gem 'radius'
312
+ gem 'rdiscount'
313
+ gem 'rdoc'
314
+ gem 'rubypants'
315
+ gem 'slim'
316
+ gem 'templater'
317
+ gem 'temple'
318
+ gem 'text-format'
319
+ gem 'text-hyphen'
320
+ gem 'wrapt'
321
+ end
322
+
323
+ group :sinatra do
324
+ gem 'big_band'
325
+ gem 'sinatra-accept-params'
326
+ gem 'sinatra-advanced-routes'
327
+ gem 'sinatra-bundles'
328
+ gem 'sinatra-cache'
329
+ gem 'sinatra-compass'
330
+ gem 'sinatra-config-file'
331
+ gem 'sinatra-ditties'
332
+ gem 'sinatra-dm'
333
+ gem 'sinatra-extension'
334
+ gem 'sinatra-logger'
335
+ gem 'sinatra_more'
336
+ gem 'sinatra-more-server'
337
+ gem 'sinatra-namespace'
338
+ gem 'sinatra-redis'
339
+ gem 'sinatra-reloader'
340
+ gem 'sinatra-settings'
341
+ gem 'sinatra-sugar'
342
+ gem 'sinatra-tags'
343
+ gem 'sinatra-test-helper'
344
+ gem 'sinatras-hat'
345
+ gem 'yard-sinatra'
346
+ gem 'universe-templates'
347
+ end
@@ -0,0 +1,56 @@
1
+ require 'rubygems/specification'
2
+ require 'rubygems/builder'
3
+
4
+ class Universe
5
+ include Enumerable
6
+ attr_reader :name, :galaxies, :version
7
+
8
+ def initialize(name, version = nil, &block)
9
+ @name, @galaxies, @version, @gems = name.to_s, [], version, []
10
+ instance_eval(&block) if block
11
+ end
12
+
13
+ def load(file)
14
+ instance_eval File.read(file)
15
+ end
16
+
17
+ def group(name, &block)
18
+ @galaxies << Universe.new("#{@name}-#{name}", version, &block)
19
+ end
20
+
21
+ def gem(*args)
22
+ @gems << args
23
+ end
24
+
25
+ def build
26
+ Gem::Builder.new(to_spec).build
27
+ end
28
+
29
+ def build_all
30
+ each(false) { |galaxy| galaxy.build }
31
+ end
32
+
33
+ def each(first = true)
34
+ return enum_for(:each) unless block_given?
35
+ yield self if first
36
+ @galaxies.each { |galaxy| galaxy.each { |g| yield g }}
37
+ yield self unless first
38
+ end
39
+
40
+ def to_spec
41
+ Gem::Specification.new do |s|
42
+ s.name = name
43
+ s.version = version
44
+ s.summary = "gem install #{name}"
45
+ s.author = "Konstantin Haase"
46
+ s.email = 'k.haase@finn.de'
47
+ s.files = `git ls-files`.split("\n")
48
+ @galaxies.each do |galaxy|
49
+ s.add_dependency(galaxy.name, galaxy.version)
50
+ end
51
+ @gems.each do |args|
52
+ s.add_dependency(*args)
53
+ end
54
+ end
55
+ end
56
+ end
data/version ADDED
@@ -0,0 +1 @@
1
+ 0.1.1
metadata ADDED
@@ -0,0 +1,174 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: universe-rails
3
+ version: !ruby/object:Gem::Version
4
+ hash: 25
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 1
10
+ version: 0.1.1
11
+ platform: ruby
12
+ authors:
13
+ - Konstantin Haase
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-01-12 00:00:00 +01:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: universe-rails-testing
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - "="
28
+ - !ruby/object:Gem::Version
29
+ hash: 25
30
+ segments:
31
+ - 0
32
+ - 1
33
+ - 1
34
+ version: 0.1.1
35
+ type: :runtime
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: rails
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ hash: 3
46
+ segments:
47
+ - 0
48
+ version: "0"
49
+ type: :runtime
50
+ version_requirements: *id002
51
+ - !ruby/object:Gem::Dependency
52
+ name: devise
53
+ prerelease: false
54
+ requirement: &id003 !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ hash: 3
60
+ segments:
61
+ - 0
62
+ version: "0"
63
+ type: :runtime
64
+ version_requirements: *id003
65
+ - !ruby/object:Gem::Dependency
66
+ name: formtastic
67
+ prerelease: false
68
+ requirement: &id004 !ruby/object:Gem::Requirement
69
+ none: false
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ hash: 3
74
+ segments:
75
+ - 0
76
+ version: "0"
77
+ type: :runtime
78
+ version_requirements: *id004
79
+ - !ruby/object:Gem::Dependency
80
+ name: will_paginate
81
+ prerelease: false
82
+ requirement: &id005 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ">="
86
+ - !ruby/object:Gem::Version
87
+ hash: 3
88
+ segments:
89
+ - 0
90
+ version: "0"
91
+ type: :runtime
92
+ version_requirements: *id005
93
+ - !ruby/object:Gem::Dependency
94
+ name: universe-rack
95
+ prerelease: false
96
+ requirement: &id006 !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - "="
100
+ - !ruby/object:Gem::Version
101
+ hash: 25
102
+ segments:
103
+ - 0
104
+ - 1
105
+ - 1
106
+ version: 0.1.1
107
+ type: :runtime
108
+ version_requirements: *id006
109
+ - !ruby/object:Gem::Dependency
110
+ name: universe-db
111
+ prerelease: false
112
+ requirement: &id007 !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - "="
116
+ - !ruby/object:Gem::Version
117
+ hash: 25
118
+ segments:
119
+ - 0
120
+ - 1
121
+ - 1
122
+ version: 0.1.1
123
+ type: :runtime
124
+ version_requirements: *id007
125
+ description:
126
+ email: k.haase@finn.de
127
+ executables: []
128
+
129
+ extensions: []
130
+
131
+ extra_rdoc_files: []
132
+
133
+ files:
134
+ - README.md
135
+ - Rakefile
136
+ - universe.rb
137
+ - universe_dsl.rb
138
+ - version
139
+ has_rdoc: true
140
+ homepage:
141
+ licenses: []
142
+
143
+ post_install_message:
144
+ rdoc_options: []
145
+
146
+ require_paths:
147
+ - lib
148
+ required_ruby_version: !ruby/object:Gem::Requirement
149
+ none: false
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ hash: 3
154
+ segments:
155
+ - 0
156
+ version: "0"
157
+ required_rubygems_version: !ruby/object:Gem::Requirement
158
+ none: false
159
+ requirements:
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ hash: 3
163
+ segments:
164
+ - 0
165
+ version: "0"
166
+ requirements: []
167
+
168
+ rubyforge_project:
169
+ rubygems_version: 1.4.1
170
+ signing_key:
171
+ specification_version: 3
172
+ summary: gem install universe-rails
173
+ test_files: []
174
+