ey_rails_wizard 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/.gitignore +8 -0
- data/.rspec +2 -0
- data/.travis.yml +6 -0
- data/ChangeLog.md +23 -0
- data/Gemfile +3 -0
- data/MIT_LICENSE +20 -0
- data/README.md +78 -0
- data/Rakefile +45 -0
- data/autotest/discover.rb +1 -0
- data/bin/ey_rails_wizard +7 -0
- data/ey_rails_wizard.gemspec +28 -0
- data/lib/rails_wizard/command.rb +79 -0
- data/lib/rails_wizard/config.rb +86 -0
- data/lib/rails_wizard/recipe.rb +106 -0
- data/lib/rails_wizard/recipes.rb +38 -0
- data/lib/rails_wizard/template.rb +67 -0
- data/lib/rails_wizard.rb +10 -0
- data/recipes/active_admin.rb +18 -0
- data/recipes/activerecord.rb +69 -0
- data/recipes/cancan.rb +16 -0
- data/recipes/capybara.rb +34 -0
- data/recipes/carrierwave.rb +42 -0
- data/recipes/carrierwave_direct.rb +13 -0
- data/recipes/cartographer.rb +33 -0
- data/recipes/cucumber.rb +17 -0
- data/recipes/delayed_job.rb +16 -0
- data/recipes/devise.rb +52 -0
- data/recipes/devise_invitable.rb +23 -0
- data/recipes/env_yaml.rb +53 -0
- data/recipes/event_calendar.rb +12 -0
- data/recipes/eycloud.rb +30 -0
- data/recipes/eycloud_recipes_on_deploy.rb +20 -0
- data/recipes/factory_girl.rb +38 -0
- data/recipes/ffaker.rb +22 -0
- data/recipes/fixture_builder.rb +35 -0
- data/recipes/forgery.rb +15 -0
- data/recipes/git.rb +15 -0
- data/recipes/haml.rb +11 -0
- data/recipes/heroku.rb +58 -0
- data/recipes/hoptoad.rb +34 -0
- data/recipes/inherited_resources.rb +12 -0
- data/recipes/jammit.rb +43 -0
- data/recipes/jasmine.rb +12 -0
- data/recipes/jquery.rb +20 -0
- data/recipes/mini_magick.rb +13 -0
- data/recipes/mongo_mapper.rb +20 -0
- data/recipes/mongohq.rb +61 -0
- data/recipes/mongoid.rb +20 -0
- data/recipes/mootools.rb +23 -0
- data/recipes/mysql.rb +19 -0
- data/recipes/nifty_generators.rb +21 -0
- data/recipes/oa_oauth.rb +12 -0
- data/recipes/omniauth.rb +17 -0
- data/recipes/paper_trail.rb +17 -0
- data/recipes/pow.rb +12 -0
- data/recipes/prototype.rb +11 -0
- data/recipes/puma.rb +10 -0
- data/recipes/rails_admin.rb +21 -0
- data/recipes/rails_basics.rb +45 -0
- data/recipes/rails_dev_tweaks.rb +10 -0
- data/recipes/rails_erd.rb +9 -0
- data/recipes/rails_footnotes.rb +14 -0
- data/recipes/ransack.rb +32 -0
- data/recipes/redis.rb +15 -0
- data/recipes/resque.rb +37 -0
- data/recipes/rmagick.rb +13 -0
- data/recipes/rspec.rb +21 -0
- data/recipes/sass.rb +13 -0
- data/recipes/sequel.rb +13 -0
- data/recipes/settingslogic.rb +43 -0
- data/recipes/shoulda_matchers.rb +11 -0
- data/recipes/simple_form.rb +19 -0
- data/recipes/slim.rb +11 -0
- data/recipes/sqlite3.rb +10 -0
- data/recipes/test_unit.rb +11 -0
- data/recipes/thin.rb +10 -0
- data/recipes/thinking_sphinx.rb +14 -0
- data/recipes/twitter_bootstrap_rails.rb +142 -0
- data/recipes/unicorn.rb +10 -0
- data/sample.rb +77 -0
- data/spec/rails_wizard/config_spec.rb +99 -0
- data/spec/rails_wizard/recipe_spec.rb +103 -0
- data/spec/rails_wizard/recipes/sanity_spec.rb +30 -0
- data/spec/rails_wizard/recipes_spec.rb +24 -0
- data/spec/rails_wizard/template_spec.rb +48 -0
- data/spec/spec_helper.rb +11 -0
- data/spec/support/rails_directory.rb +17 -0
- data/spec/support/template_runner.rb +28 -0
- data/templates/helpers.erb +45 -0
- data/templates/layout.erb +45 -0
- data/templates/recipe.erb +10 -0
- data/version.rb +3 -0
- metadata +232 -0
data/recipes/jammit.rb
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
gem 'jammit'
|
|
2
|
+
|
|
3
|
+
after_bundler do
|
|
4
|
+
if config['pre_commit']
|
|
5
|
+
say_wizard "Adding git pre-commit hook to compile assets..."
|
|
6
|
+
create_file ".git/hooks/pre-commit", <<-BASH
|
|
7
|
+
#!/bin/sh
|
|
8
|
+
|
|
9
|
+
echo "Packaging assets with Jammit..."
|
|
10
|
+
jammit
|
|
11
|
+
git add public/assets
|
|
12
|
+
BASH
|
|
13
|
+
run "chmod +x .git/hooks/pre-commit"
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
create_file "config/assets.yml", <<-YAML
|
|
17
|
+
javascripts:
|
|
18
|
+
app:
|
|
19
|
+
- public/javascripts/*.js
|
|
20
|
+
stylesheets:
|
|
21
|
+
app:
|
|
22
|
+
- public/stylesheets/*.css
|
|
23
|
+
YAML
|
|
24
|
+
|
|
25
|
+
gsub_file "app/views/layouts/application.html.erb", "<%= javascript_include_tag :defaults %>", "<%= include_javascripts :app %>"
|
|
26
|
+
gsub_file "app/views/layouts/application.html.erb", "<%= stylesheet_link_tag :all %>", "<%= include_stylesheets :app %>"
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
__END__
|
|
30
|
+
|
|
31
|
+
name: Jammit
|
|
32
|
+
description: "Use Jammit to package your application's assets."
|
|
33
|
+
author: mbleigh
|
|
34
|
+
# http://documentcloud.github.com/jammit/
|
|
35
|
+
|
|
36
|
+
exclusive: asset_packaging
|
|
37
|
+
category: assets
|
|
38
|
+
tags: [assets, asset_packaging, packaging]
|
|
39
|
+
|
|
40
|
+
config:
|
|
41
|
+
- pre_commit:
|
|
42
|
+
type: boolean
|
|
43
|
+
prompt: "Create a git pre-commit hook to locally generate assets?"
|
data/recipes/jasmine.rb
ADDED
data/recipes/jquery.rb
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
|
|
2
|
+
after_bundler do
|
|
3
|
+
ui = config['ui'] ? ' --ui' : ''
|
|
4
|
+
generate "jquery:install#{ui}"
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
__END__
|
|
8
|
+
|
|
9
|
+
name: jQuery
|
|
10
|
+
description: "Adds the latest jQuery and Rails UJS helpers for jQuery."
|
|
11
|
+
author: mbleigh
|
|
12
|
+
|
|
13
|
+
exclusive: javascript_framework
|
|
14
|
+
category: assets
|
|
15
|
+
tags: [javascript, framework, defaults]
|
|
16
|
+
|
|
17
|
+
config:
|
|
18
|
+
- ui:
|
|
19
|
+
type: boolean
|
|
20
|
+
prompt: Install jQuery UI?
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
gem 'bson_ext'
|
|
2
|
+
gem 'mongo_mapper', '>=0.9'
|
|
3
|
+
|
|
4
|
+
after_bundler do
|
|
5
|
+
generate 'mongo_mapper:config'
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
__END__
|
|
9
|
+
|
|
10
|
+
name: MongoMapper
|
|
11
|
+
description: "Use MongoDB with MongoMapper as your primary datastore."
|
|
12
|
+
author: mbleigh
|
|
13
|
+
|
|
14
|
+
exclusive: orm
|
|
15
|
+
category: persistence
|
|
16
|
+
tags: [mongodb, orm]
|
|
17
|
+
|
|
18
|
+
args: ["-O"]
|
|
19
|
+
|
|
20
|
+
# TODO eycloud
|
data/recipes/mongohq.rb
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
if config['use_heroku']
|
|
2
|
+
|
|
3
|
+
header = <<-YAML
|
|
4
|
+
<% if ENV['MONGOHQ_URL'] %>
|
|
5
|
+
<% mongohq = URI.parse(ENV['MONGOHQ_URL']) %>
|
|
6
|
+
mongohq:
|
|
7
|
+
host: <%= mongohq.host %>
|
|
8
|
+
port: <%= mongohq.port %>
|
|
9
|
+
database: <%= mongohq.path.sub '/', '' %>
|
|
10
|
+
username: <%= mongohq.user %>
|
|
11
|
+
password: <%= mongohq.password %>
|
|
12
|
+
<% end %>
|
|
13
|
+
YAML
|
|
14
|
+
|
|
15
|
+
after_everything do
|
|
16
|
+
say_wizard 'Adding mongohq:free addon (you can always upgrade later)'
|
|
17
|
+
system 'heroku addons:add mongohq:free'
|
|
18
|
+
end
|
|
19
|
+
else
|
|
20
|
+
mongohq = URI.parse(config['uri'])
|
|
21
|
+
|
|
22
|
+
header = <<-YAML
|
|
23
|
+
mongohq:
|
|
24
|
+
host: #{mongohq.host}
|
|
25
|
+
port: #{mongohq.port}
|
|
26
|
+
database: #{mongohq.path.sub '/',''}
|
|
27
|
+
username: #{mongohq.user}
|
|
28
|
+
password: #{mongohq.password}
|
|
29
|
+
YAML
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
after_bundler do
|
|
33
|
+
mongo_yml = "config/mongo#{'id' if recipe?('mongoid')}.yml"
|
|
34
|
+
|
|
35
|
+
prepend_file mongo_yml, header
|
|
36
|
+
inject_into_file mongo_yml, " <<: *mongohq\n", :after => "production:\n <<: *defaults\n"
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
__END__
|
|
40
|
+
|
|
41
|
+
name: MongoHQ
|
|
42
|
+
description: "Utilize MongoHQ as the production data host for your application."
|
|
43
|
+
author: mbleigh
|
|
44
|
+
|
|
45
|
+
requires_any: [mongo_mapper, mongoid]
|
|
46
|
+
run_after: [mongo_mapper, mongoid, heroku]
|
|
47
|
+
exclusive: mongodb_host
|
|
48
|
+
category: services
|
|
49
|
+
tags: [mongodb]
|
|
50
|
+
|
|
51
|
+
config:
|
|
52
|
+
- use_heroku:
|
|
53
|
+
type: boolean
|
|
54
|
+
prompt: "Use the MongoHQ Heroku addon?"
|
|
55
|
+
if_recipe: heroku
|
|
56
|
+
- uri:
|
|
57
|
+
type: string
|
|
58
|
+
prompt: "Enter your MongoHQ URI:"
|
|
59
|
+
unless: use_heroku
|
|
60
|
+
|
|
61
|
+
# TODO eycloud partners
|
data/recipes/mongoid.rb
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
gem 'bson_ext'
|
|
2
|
+
gem 'mongoid', '>= 2.0.1'
|
|
3
|
+
|
|
4
|
+
after_bundler do
|
|
5
|
+
generate 'mongoid:config'
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
__END__
|
|
9
|
+
|
|
10
|
+
name: Mongoid
|
|
11
|
+
description: "Utilize MongoDB with Mongoid as the ORM."
|
|
12
|
+
author: mbleigh
|
|
13
|
+
|
|
14
|
+
category: persistence
|
|
15
|
+
exclusive: orm
|
|
16
|
+
tags: [orm, mongodb]
|
|
17
|
+
|
|
18
|
+
args: ["-O"]
|
|
19
|
+
|
|
20
|
+
# TODO eycloud
|
data/recipes/mootools.rb
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
inside "public/javascripts" do
|
|
2
|
+
get "https://github.com/kevinvaldek/mootools-ujs/raw/master/Source/rails.js", "rails.js"
|
|
3
|
+
get "http://ajax.googleapis.com/ajax/libs/mootools/1.3.1/mootools-yui-compressed.js", "mootools.min.js"
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
gsub_file "config/application.rb", /# JavaScript.*\n/, ""
|
|
7
|
+
gsub_file "config/application.rb", /# config\.action_view\.javascript.*\n/, ""
|
|
8
|
+
|
|
9
|
+
application do
|
|
10
|
+
"\n config.action_view.javascript_expansions[:defaults] = %w(mootools.min rails)\n"
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
__END__
|
|
14
|
+
|
|
15
|
+
name: MooTools
|
|
16
|
+
description: "Adds MooTools and MooTools-compatible UJS helpers."
|
|
17
|
+
author: mbleigh
|
|
18
|
+
|
|
19
|
+
exclusive: javascript_framework
|
|
20
|
+
category: assets
|
|
21
|
+
tags: [javascript, framework]
|
|
22
|
+
|
|
23
|
+
args: ["-J"]
|
data/recipes/mysql.rb
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
if recipe?("sqlite3")
|
|
2
|
+
gem "mysql2", :group => :production
|
|
3
|
+
else
|
|
4
|
+
gem "mysql2", :group => :production
|
|
5
|
+
end
|
|
6
|
+
# TODO what about Windows?
|
|
7
|
+
# TODO what if you only want MySQL in production?
|
|
8
|
+
|
|
9
|
+
# TODO generate config/database.yml for DBs
|
|
10
|
+
|
|
11
|
+
__END__
|
|
12
|
+
|
|
13
|
+
name: MySQL
|
|
14
|
+
description: Use MySQL for production database (and development/testing if SQLite3 not selected)
|
|
15
|
+
author: drnic
|
|
16
|
+
|
|
17
|
+
exclusive: orm
|
|
18
|
+
category: persistence
|
|
19
|
+
tags: [sql, orm, mysql]
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
gem "nifty-generators"
|
|
2
|
+
after_bundler do
|
|
3
|
+
remove_file 'app/views/layouts/application.html.erb' # use nifty layout instead
|
|
4
|
+
|
|
5
|
+
if recipes.include? 'haml'
|
|
6
|
+
generate 'nifty:layout --haml'
|
|
7
|
+
else
|
|
8
|
+
generate 'nifty:layout'
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
generate 'nifty:config'
|
|
12
|
+
|
|
13
|
+
end
|
|
14
|
+
__END__
|
|
15
|
+
|
|
16
|
+
name: nifty-generators
|
|
17
|
+
description: "Use RyanB's nifty template generators."
|
|
18
|
+
author: amolk
|
|
19
|
+
|
|
20
|
+
category: templating
|
|
21
|
+
exclusive: template_generator
|
data/recipes/oa_oauth.rb
ADDED
data/recipes/omniauth.rb
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
gem 'omniauth', '~> 0.2.0'
|
|
2
|
+
|
|
3
|
+
after_bundler do
|
|
4
|
+
file 'app/controllers/sessions_controller.rb', "class SessionsController < ApplicationController\n def callback\n auth # Do what you want with the auth hash!\n end\n\n def auth; request.env['omniauth.auth'] end\nend"
|
|
5
|
+
route "match '/auth/:provider/callback', :to => 'sessions#callback'"
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
__END__
|
|
9
|
+
|
|
10
|
+
name: OmniAuth
|
|
11
|
+
description: "A basic setup of OmniAuth with a SessionsController to handle the request and callback phases."
|
|
12
|
+
author: mbleigh
|
|
13
|
+
|
|
14
|
+
exclusive: authentication
|
|
15
|
+
category: authentication
|
|
16
|
+
|
|
17
|
+
# TODO watch railscasts
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
gem 'paper_trail', '~> 2'
|
|
2
|
+
|
|
3
|
+
after_bundler do
|
|
4
|
+
generate "paper_trail:install"
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
__END__
|
|
8
|
+
|
|
9
|
+
name: Paper Trail
|
|
10
|
+
description: Plugin for tracking changes to your models' data. Good for auditing or versioning.
|
|
11
|
+
|
|
12
|
+
category: persistence
|
|
13
|
+
exclusive: activerecord_versioning
|
|
14
|
+
tags: [activerecord_versioning]
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# TODO eycloud partner version of same name
|
data/recipes/pow.rb
ADDED
data/recipes/puma.rb
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
gem 'rails_admin', :git => 'git://github.com/sferik/rails_admin.git'
|
|
2
|
+
|
|
3
|
+
after_bundler do
|
|
4
|
+
generate 'rails_admin:install_admin'
|
|
5
|
+
rake 'admin:copy_assets'
|
|
6
|
+
rake 'admin:ckeditor_download' if config['ckeditor']
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
__END__
|
|
10
|
+
|
|
11
|
+
name: RailsAdmin
|
|
12
|
+
description: "Install RailsAdmin to manage data in your application"
|
|
13
|
+
author: alno
|
|
14
|
+
|
|
15
|
+
category: other
|
|
16
|
+
|
|
17
|
+
config:
|
|
18
|
+
- ckeditor:
|
|
19
|
+
type: boolean
|
|
20
|
+
prompt: Install CKEditor?
|
|
21
|
+
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# create rvmrc file
|
|
2
|
+
# create_file ".rvmrc", "rvm gemset create '#{app_name}' \nrvm gemset use '#{app_name}'"
|
|
3
|
+
|
|
4
|
+
after_bundler do
|
|
5
|
+
# clean up rails defaults
|
|
6
|
+
remove_file "public/index.html"
|
|
7
|
+
remove_file "public/images/rails.png"
|
|
8
|
+
generate "controller home index"
|
|
9
|
+
route "root :to => 'home#index'"
|
|
10
|
+
|
|
11
|
+
run "mv README.rdoc RAILS_README.rdoc"
|
|
12
|
+
remove_file "README.rdoc"
|
|
13
|
+
create_file "README.md", <<-README
|
|
14
|
+
# ReadMe
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## Deployment
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
ey deploy
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Thanks
|
|
24
|
+
|
|
25
|
+
The original scaffold for this application was created by [Engine Yard Rails Wizard](http://railswizard.engineyard.com).
|
|
26
|
+
|
|
27
|
+
The project was created with the following recipes:
|
|
28
|
+
|
|
29
|
+
#{ recipes.map {|r| "* #{r}"}.join("\n")}
|
|
30
|
+
|
|
31
|
+
README
|
|
32
|
+
|
|
33
|
+
if recipes.include? 'git'
|
|
34
|
+
append_file ".gitignore", "\nconfig/database.yml"
|
|
35
|
+
append_file ".gitignore", "\public/system"
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
rake "db:migrate"
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
__END__
|
|
42
|
+
|
|
43
|
+
name: Rails Basics
|
|
44
|
+
description: Best practices for new Rails apps
|
|
45
|
+
author: drnic
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
gem 'rails-footnotes', :group => :development
|
|
2
|
+
|
|
3
|
+
after_bundler do
|
|
4
|
+
generate 'rails_footnotes:install'
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
__END__
|
|
8
|
+
|
|
9
|
+
name: Rails Footnotes
|
|
10
|
+
description: Displays footnotes in your application for easy debugging, such as sessions, request parameters, cookies, filter chain, routes, queries, etc
|
|
11
|
+
|
|
12
|
+
category: other
|
|
13
|
+
tags: [debugging]
|
|
14
|
+
|
data/recipes/ransack.rb
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
gem 'ransack'
|
|
2
|
+
|
|
3
|
+
create_file "config/initializers/ransack.rb", <<-RUBY
|
|
4
|
+
Ransack.configure do |config|
|
|
5
|
+
# config.add_predicate 'equals_diddly', # Name your predicate
|
|
6
|
+
# # What non-compound ARel predicate will it use? (eq, matches, etc)
|
|
7
|
+
# :arel_predicate => 'eq',
|
|
8
|
+
# # Format incoming values as you see fit. (Default: Don't do formatting)
|
|
9
|
+
# :formatter => proc {|v| "#{v}-diddly"},
|
|
10
|
+
# # Validate a value. An "invalid" value won't be used in a search.
|
|
11
|
+
# # Below is default.
|
|
12
|
+
# :validator => proc {|v| v.present?},
|
|
13
|
+
# # Should compounds be created? Will use the compound (any/all) version
|
|
14
|
+
# # of the arel_predicate to create a corresponding any/all version of
|
|
15
|
+
# # your predicate. (Default: true)
|
|
16
|
+
# :compounds => true,
|
|
17
|
+
# # Force a specific column type for type-casting of supplied values.
|
|
18
|
+
# # (Default: use type from DB column)
|
|
19
|
+
# :type => :string
|
|
20
|
+
end
|
|
21
|
+
RUBY
|
|
22
|
+
|
|
23
|
+
__END__
|
|
24
|
+
|
|
25
|
+
name: Ransack
|
|
26
|
+
description: Extensible searching for Rails - successor to ransack
|
|
27
|
+
|
|
28
|
+
category: search
|
|
29
|
+
exclusive: search
|
|
30
|
+
tags: [search]
|
|
31
|
+
|
|
32
|
+
|
data/recipes/redis.rb
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
gem 'redis'
|
|
2
|
+
|
|
3
|
+
initializer "redis.rb", <<-RUBY
|
|
4
|
+
REDIS = Redis.new
|
|
5
|
+
RUBY
|
|
6
|
+
|
|
7
|
+
__END__
|
|
8
|
+
|
|
9
|
+
name: Redis
|
|
10
|
+
description: "Add Redis as a persistence engine to your application."
|
|
11
|
+
author: mbleigh
|
|
12
|
+
|
|
13
|
+
exclusive: key_value
|
|
14
|
+
category: persistence
|
|
15
|
+
tags: [key_value, cache, session_store]
|
data/recipes/resque.rb
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
gem 'resque'
|
|
2
|
+
gem 'eycloud-recipe-resque', :group => :eycloud
|
|
3
|
+
|
|
4
|
+
say_wizard 'Applying fix suggested in https://github.com/defunkt/resque/pull/403...'
|
|
5
|
+
append_file "Rakefile", "\ntask 'resque:setup' => :environment # for https://github.com/defunkt/resque/pull/403\n"
|
|
6
|
+
|
|
7
|
+
after_bundler do
|
|
8
|
+
say_wizard 'Adding resque.rake task to lib/tasks'
|
|
9
|
+
create_file "lib/tasks/resque.rake", <<-RAKE
|
|
10
|
+
require 'resque/tasks'
|
|
11
|
+
RAKE
|
|
12
|
+
|
|
13
|
+
say_wizard 'Installing deploy hooks to restart resque after deploys'
|
|
14
|
+
create_file "deploy/before_restart.rb", <<-RUBY
|
|
15
|
+
on_app_servers_and_utilities do
|
|
16
|
+
node[:applications].each do |app_name, data|
|
|
17
|
+
sudo 'echo "sleep 20 && monit -g \#{app_name}_resque restart all" | at now'
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
RUBY
|
|
21
|
+
|
|
22
|
+
append_file "deploy/cookbooks/main/recipes/default.rb", "\nrequire_recipe 'resque'\n"
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
__END__
|
|
26
|
+
|
|
27
|
+
name: Resque
|
|
28
|
+
description: Add Resque to your application.
|
|
29
|
+
author: drnic
|
|
30
|
+
website: https://github.com/defunkt/resque
|
|
31
|
+
|
|
32
|
+
requires: [redis, eycloud_recipes_on_deploy]
|
|
33
|
+
run_after: [redis, eycloud_recipes_on_deploy]
|
|
34
|
+
|
|
35
|
+
category: worker
|
|
36
|
+
tags: [background, worker]
|
|
37
|
+
exclusive: worker
|
data/recipes/rmagick.rb
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
gem 'rmagick', :require => "RMagick"
|
|
2
|
+
|
|
3
|
+
__END__
|
|
4
|
+
|
|
5
|
+
name: RMagick
|
|
6
|
+
description: "Use RMagick to manipulate images via ImageMagick"
|
|
7
|
+
author: jonochang
|
|
8
|
+
|
|
9
|
+
category: other
|
|
10
|
+
exclusive: image-manipulation
|
|
11
|
+
tags: [image-manipulation]
|
|
12
|
+
|
|
13
|
+
# TODO eycloud
|
data/recipes/rspec.rb
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
gem 'rspec-rails', :group => [:development, :test]
|
|
2
|
+
|
|
3
|
+
inject_into_file "config/initializers/generators.rb", :after => "Rails.application.config.generators do |g|\n" do
|
|
4
|
+
" g.test_framework = :rspec\n"
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
after_bundler do
|
|
8
|
+
generate 'rspec:install'
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
__END__
|
|
12
|
+
|
|
13
|
+
name: RSpec
|
|
14
|
+
description: "Use RSpec for unit testing for this Rails app."
|
|
15
|
+
author: mbleigh
|
|
16
|
+
|
|
17
|
+
exclusive: unit_testing
|
|
18
|
+
category: testing
|
|
19
|
+
|
|
20
|
+
args: ["-T"]
|
|
21
|
+
|
data/recipes/sass.rb
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
unless recipes.include? 'haml'
|
|
2
|
+
gem 'haml', '>= 3.0.0'
|
|
3
|
+
end
|
|
4
|
+
|
|
5
|
+
__END__
|
|
6
|
+
|
|
7
|
+
name: SASS
|
|
8
|
+
description: "Utilize SASS (through the HAML gem) for really awesome stylesheets!"
|
|
9
|
+
author: mbleigh
|
|
10
|
+
|
|
11
|
+
exclusive: css_replacement
|
|
12
|
+
category: assets
|
|
13
|
+
tags: [css, stylesheet]
|
data/recipes/sequel.rb
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
gem 'settingslogic'
|
|
2
|
+
|
|
3
|
+
say_wizard "Generating config/application.yml..."
|
|
4
|
+
|
|
5
|
+
append_file "config/application.rb", <<-RUBY
|
|
6
|
+
|
|
7
|
+
require 'settings'
|
|
8
|
+
RUBY
|
|
9
|
+
|
|
10
|
+
create_file "lib/settings.rb", <<-RUBY
|
|
11
|
+
class Settings < Settingslogic
|
|
12
|
+
source "#\{Rails.root\}/config/application.yml"
|
|
13
|
+
namespace Rails.env
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
RUBY
|
|
17
|
+
|
|
18
|
+
create_file "config/application.yml", <<-YAML
|
|
19
|
+
defaults: &defaults
|
|
20
|
+
cool:
|
|
21
|
+
saweet: nested settings
|
|
22
|
+
neat_setting: 24
|
|
23
|
+
awesome_setting: <%= "Did you know 5 + 5 = #{5 + 5}?" %>
|
|
24
|
+
|
|
25
|
+
development:
|
|
26
|
+
<<: *defaults
|
|
27
|
+
neat_setting: 800
|
|
28
|
+
|
|
29
|
+
test:
|
|
30
|
+
<<: *defaults
|
|
31
|
+
|
|
32
|
+
production:
|
|
33
|
+
<<: *defaults
|
|
34
|
+
YAML
|
|
35
|
+
|
|
36
|
+
__END__
|
|
37
|
+
|
|
38
|
+
name: Settingslogic
|
|
39
|
+
description: "A simple and straightforward settings solution that uses an ERB enabled YAML file and a singleton design pattern."
|
|
40
|
+
author: elandesign
|
|
41
|
+
|
|
42
|
+
category: other
|
|
43
|
+
tags: [utilities, configuration]
|