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.
Files changed (93) hide show
  1. data/.gitignore +8 -0
  2. data/.rspec +2 -0
  3. data/.travis.yml +6 -0
  4. data/ChangeLog.md +23 -0
  5. data/Gemfile +3 -0
  6. data/MIT_LICENSE +20 -0
  7. data/README.md +78 -0
  8. data/Rakefile +45 -0
  9. data/autotest/discover.rb +1 -0
  10. data/bin/ey_rails_wizard +7 -0
  11. data/ey_rails_wizard.gemspec +28 -0
  12. data/lib/rails_wizard/command.rb +79 -0
  13. data/lib/rails_wizard/config.rb +86 -0
  14. data/lib/rails_wizard/recipe.rb +106 -0
  15. data/lib/rails_wizard/recipes.rb +38 -0
  16. data/lib/rails_wizard/template.rb +67 -0
  17. data/lib/rails_wizard.rb +10 -0
  18. data/recipes/active_admin.rb +18 -0
  19. data/recipes/activerecord.rb +69 -0
  20. data/recipes/cancan.rb +16 -0
  21. data/recipes/capybara.rb +34 -0
  22. data/recipes/carrierwave.rb +42 -0
  23. data/recipes/carrierwave_direct.rb +13 -0
  24. data/recipes/cartographer.rb +33 -0
  25. data/recipes/cucumber.rb +17 -0
  26. data/recipes/delayed_job.rb +16 -0
  27. data/recipes/devise.rb +52 -0
  28. data/recipes/devise_invitable.rb +23 -0
  29. data/recipes/env_yaml.rb +53 -0
  30. data/recipes/event_calendar.rb +12 -0
  31. data/recipes/eycloud.rb +30 -0
  32. data/recipes/eycloud_recipes_on_deploy.rb +20 -0
  33. data/recipes/factory_girl.rb +38 -0
  34. data/recipes/ffaker.rb +22 -0
  35. data/recipes/fixture_builder.rb +35 -0
  36. data/recipes/forgery.rb +15 -0
  37. data/recipes/git.rb +15 -0
  38. data/recipes/haml.rb +11 -0
  39. data/recipes/heroku.rb +58 -0
  40. data/recipes/hoptoad.rb +34 -0
  41. data/recipes/inherited_resources.rb +12 -0
  42. data/recipes/jammit.rb +43 -0
  43. data/recipes/jasmine.rb +12 -0
  44. data/recipes/jquery.rb +20 -0
  45. data/recipes/mini_magick.rb +13 -0
  46. data/recipes/mongo_mapper.rb +20 -0
  47. data/recipes/mongohq.rb +61 -0
  48. data/recipes/mongoid.rb +20 -0
  49. data/recipes/mootools.rb +23 -0
  50. data/recipes/mysql.rb +19 -0
  51. data/recipes/nifty_generators.rb +21 -0
  52. data/recipes/oa_oauth.rb +12 -0
  53. data/recipes/omniauth.rb +17 -0
  54. data/recipes/paper_trail.rb +17 -0
  55. data/recipes/pow.rb +12 -0
  56. data/recipes/prototype.rb +11 -0
  57. data/recipes/puma.rb +10 -0
  58. data/recipes/rails_admin.rb +21 -0
  59. data/recipes/rails_basics.rb +45 -0
  60. data/recipes/rails_dev_tweaks.rb +10 -0
  61. data/recipes/rails_erd.rb +9 -0
  62. data/recipes/rails_footnotes.rb +14 -0
  63. data/recipes/ransack.rb +32 -0
  64. data/recipes/redis.rb +15 -0
  65. data/recipes/resque.rb +37 -0
  66. data/recipes/rmagick.rb +13 -0
  67. data/recipes/rspec.rb +21 -0
  68. data/recipes/sass.rb +13 -0
  69. data/recipes/sequel.rb +13 -0
  70. data/recipes/settingslogic.rb +43 -0
  71. data/recipes/shoulda_matchers.rb +11 -0
  72. data/recipes/simple_form.rb +19 -0
  73. data/recipes/slim.rb +11 -0
  74. data/recipes/sqlite3.rb +10 -0
  75. data/recipes/test_unit.rb +11 -0
  76. data/recipes/thin.rb +10 -0
  77. data/recipes/thinking_sphinx.rb +14 -0
  78. data/recipes/twitter_bootstrap_rails.rb +142 -0
  79. data/recipes/unicorn.rb +10 -0
  80. data/sample.rb +77 -0
  81. data/spec/rails_wizard/config_spec.rb +99 -0
  82. data/spec/rails_wizard/recipe_spec.rb +103 -0
  83. data/spec/rails_wizard/recipes/sanity_spec.rb +30 -0
  84. data/spec/rails_wizard/recipes_spec.rb +24 -0
  85. data/spec/rails_wizard/template_spec.rb +48 -0
  86. data/spec/spec_helper.rb +11 -0
  87. data/spec/support/rails_directory.rb +17 -0
  88. data/spec/support/template_runner.rb +28 -0
  89. data/templates/helpers.erb +45 -0
  90. data/templates/layout.erb +45 -0
  91. data/templates/recipe.erb +10 -0
  92. data/version.rb +3 -0
  93. metadata +232 -0
@@ -0,0 +1,12 @@
1
+ gem 'inherited_resources'
2
+
3
+ __END__
4
+
5
+ name: Inherited Resources
6
+ description: "Use Inherited Resources to DRY your controllers"
7
+ author: jonochang
8
+
9
+ exclusive: controllers
10
+ category: controllers
11
+ tags: [controllers]
12
+
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?"
@@ -0,0 +1,12 @@
1
+ gem 'jasmine', :group => [:development, :test]
2
+
3
+ after_bundler do
4
+ generate "jasmine:install"
5
+ end
6
+
7
+ __END__
8
+
9
+ category: testing
10
+ name: Jasmine
11
+ description: Install jasmine for javascript testing
12
+ author: jtarchie
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,13 @@
1
+ gem 'mini_magick'
2
+
3
+ __END__
4
+
5
+ name: Mini Magick
6
+ description: "Use Mini Magick to manipulate images via ImageMagick"
7
+ author: jonochang
8
+
9
+ category: other
10
+ exclusive: image-manipulation
11
+ tags: [image-manipulation]
12
+
13
+ # TODO eycloud
@@ -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
@@ -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
@@ -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
@@ -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
@@ -0,0 +1,12 @@
1
+ gem 'oa-oauth'
2
+ __END__
3
+
4
+ name: OA-Oauth
5
+ description: "Include oa-oauth to use with Omniauth"
6
+ author: porta
7
+
8
+ category: authentication
9
+ tags: [devise, oauth]
10
+
11
+ requires: [devise, omniauth]
12
+ run_after: [devise, omniauth]
@@ -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
@@ -0,0 +1,12 @@
1
+ run "ln -s #{destination_root} ~/.pow/#{app_name}"
2
+ say_wizard "App is available at http://#{app_name}.dev/"
3
+
4
+ __END__
5
+
6
+ name: Pow
7
+ description: "Automatically create a symlink for Pow."
8
+ author: mbleigh
9
+
10
+ category: other
11
+ tags: [dev]
12
+
@@ -0,0 +1,11 @@
1
+ gem "prototype-rails"
2
+
3
+ __END__
4
+
5
+ name: Prototype
6
+ description: "Use the default Javascript libraries and helpers."
7
+ author: mbleigh
8
+
9
+ exclusive: javascript_framework
10
+ category: assets
11
+ tags: [javascript, framework]
data/recipes/puma.rb ADDED
@@ -0,0 +1,10 @@
1
+ gem 'puma'
2
+
3
+ __END__
4
+
5
+ name: Puma
6
+ description: Ruby web server built for speed & concurrency
7
+ author: drnic
8
+
9
+ category: deployment
10
+ exclusive: appserver
@@ -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,10 @@
1
+ gem 'rails-dev-tweaks', '~> 0.5.0', :group => :development
2
+
3
+ __END__
4
+
5
+ name: Rails Dev Tweaks
6
+ description: "Use Rails Dev Tweaks to speed up asset serving in Rails 3.1 dev environment"
7
+ author: jonochang
8
+
9
+ category: dev-tools
10
+ tags: [dev-tools]
@@ -0,0 +1,9 @@
1
+ gem 'rails-erd'
2
+ __END__
3
+
4
+ name: ERD Diagrams
5
+ description: Generates ERD diagrams for the project
6
+
7
+ category: domain-model
8
+ tags: [domain-model]
9
+
@@ -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
+
@@ -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
@@ -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,13 @@
1
+ gem 'sequel-rails'
2
+
3
+ application "require 'sequel-rails/railtie'"
4
+
5
+ __END__
6
+
7
+ name: Sequel
8
+ description: "Utilize Sequel as the primary ORM for your application."
9
+ author: mbleigh
10
+
11
+ exclusive: orm
12
+ category: persistence
13
+ tags: [orm, sql]
@@ -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]
@@ -0,0 +1,11 @@
1
+ gem 'shoulda-matchers', :group => [:test]
2
+
3
+ __END__
4
+
5
+ name: shoulda-matchers
6
+ description: "Collection of testing matchers extracted from Shoulda."
7
+ author: lightyrs
8
+
9
+ category: testing
10
+ run_after: [rspec]
11
+ requires: [rspec]