rails3_devise_wizard 0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README.textile +135 -0
- data/bin/rails3_devise_wizard +7 -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 +58 -0
- data/lib/rails_wizard.rb +10 -0
- data/recipes/action_mailer.rb +41 -0
- data/recipes/activerecord.rb +37 -0
- data/recipes/add_user_name.rb +75 -0
- data/recipes/application_layout.rb +43 -0
- data/recipes/ban_spiders.rb +19 -0
- data/recipes/capybara.rb +34 -0
- data/recipes/cleanup.rb +34 -0
- data/recipes/css_setup.rb +40 -0
- data/recipes/cucumber.rb +69 -0
- data/recipes/devise.rb +35 -0
- data/recipes/devise_navigation.rb +95 -0
- data/recipes/env_yaml.rb +54 -0
- data/recipes/git.rb +26 -0
- data/recipes/haml.rb +14 -0
- data/recipes/heroku.rb +58 -0
- data/recipes/home_page.rb +43 -0
- data/recipes/home_page_users.rb +50 -0
- data/recipes/hoptoad.rb +34 -0
- data/recipes/jammit.rb +43 -0
- data/recipes/jquery.rb +44 -0
- data/recipes/less.rb +12 -0
- data/recipes/mongo_mapper.rb +18 -0
- data/recipes/mongohq.rb +59 -0
- data/recipes/mongoid.rb +30 -0
- data/recipes/mootools.rb +23 -0
- data/recipes/omniauth.rb +15 -0
- data/recipes/pow.rb +12 -0
- data/recipes/prototype.rb +11 -0
- data/recipes/rails_admin.rb +21 -0
- data/recipes/redis.rb +17 -0
- data/recipes/redistogo.rb +40 -0
- data/recipes/rightjs.rb +17 -0
- data/recipes/rspec.rb +89 -0
- data/recipes/sass.rb +13 -0
- data/recipes/seed_database.rb +35 -0
- data/recipes/sequel.rb +13 -0
- data/recipes/settingslogic.rb +43 -0
- data/recipes/slim.rb +11 -0
- data/recipes/test_unit.rb +11 -0
- data/recipes/users_page.rb +103 -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 +46 -0
- data/templates/recipe.erb +10 -0
- data/version.rb +3 -0
- metadata +205 -0
@@ -0,0 +1,58 @@
|
|
1
|
+
module RailsWizard
|
2
|
+
class Template
|
3
|
+
attr_reader :recipes
|
4
|
+
|
5
|
+
def initialize(recipes)
|
6
|
+
@recipes = recipes.map{|r| RailsWizard::Recipe.from_mongo(r)}
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.template_root
|
10
|
+
File.dirname(__FILE__) + '/../../templates'
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.render(template_name, binding = nil)
|
14
|
+
erb = ERB.new(File.open(template_root + '/' + template_name + '.erb').read)
|
15
|
+
erb.result(binding)
|
16
|
+
end
|
17
|
+
def render(template_name, binding = nil); self.class.render(template_name, binding) end
|
18
|
+
|
19
|
+
|
20
|
+
def resolve_recipes
|
21
|
+
# @resolve_recipes ||= recipes_with_dependencies.sort
|
22
|
+
@resolve_recipes ||= recipes_with_dependencies
|
23
|
+
end
|
24
|
+
|
25
|
+
def recipe_classes
|
26
|
+
@recipe_classes ||= recipes.map{|r| RailsWizard::Recipe.from_mongo(r)}
|
27
|
+
end
|
28
|
+
|
29
|
+
def recipes_with_dependencies
|
30
|
+
@recipes_with_dependencies ||= recipe_classes
|
31
|
+
|
32
|
+
added_more = false
|
33
|
+
for recipe in recipe_classes
|
34
|
+
recipe.requires.each do |requirement|
|
35
|
+
requirement = RailsWizard::Recipe.from_mongo(requirement)
|
36
|
+
count = @recipes_with_dependencies.size
|
37
|
+
(@recipes_with_dependencies << requirement).uniq!
|
38
|
+
unless @recipes_with_dependencies.size == count
|
39
|
+
added_more = true
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
added_more ? recipes_with_dependencies : @recipes_with_dependencies
|
45
|
+
end
|
46
|
+
|
47
|
+
def compile
|
48
|
+
render 'layout', binding
|
49
|
+
end
|
50
|
+
|
51
|
+
def args
|
52
|
+
recipes.map(&:args).uniq
|
53
|
+
end
|
54
|
+
|
55
|
+
def custom_code?; false end
|
56
|
+
def custom_code; nil end
|
57
|
+
end
|
58
|
+
end
|
data/lib/rails_wizard.rb
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
require 'rails_wizard/recipes'
|
2
|
+
require 'rails_wizard/recipe'
|
3
|
+
require 'rails_wizard/config'
|
4
|
+
require 'rails_wizard/template'
|
5
|
+
|
6
|
+
Dir[File.dirname(__FILE__) + '/../recipes/*.rb'].each do |path|
|
7
|
+
key = File.basename(path, '.rb')
|
8
|
+
recipe = RailsWizard::Recipe.generate(key, File.open(path))
|
9
|
+
RailsWizard::Recipes.add(recipe)
|
10
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# Application template recipe for the rails3_devise_wizard. Check for a newer version here:
|
2
|
+
# https://github.com/fortuity/rails3_devise_wizard/blob/master/recipes/action_mailer.rb
|
3
|
+
|
4
|
+
after_bundler do
|
5
|
+
|
6
|
+
# modifying environment configuration files for ActionMailer
|
7
|
+
gsub_file 'config/environments/development.rb', /# Don't care if the mailer can't send/, '# ActionMailer Config'
|
8
|
+
gsub_file 'config/environments/development.rb', /config.action_mailer.raise_delivery_errors = false/ do
|
9
|
+
<<-RUBY
|
10
|
+
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
|
11
|
+
# A dummy setup for development - no deliveries, but logged
|
12
|
+
config.action_mailer.delivery_method = :smtp
|
13
|
+
config.action_mailer.perform_deliveries = false
|
14
|
+
config.action_mailer.raise_delivery_errors = true
|
15
|
+
config.action_mailer.default :charset => "utf-8"
|
16
|
+
RUBY
|
17
|
+
end
|
18
|
+
gsub_file 'config/environments/production.rb', /config.active_support.deprecation = :notify/ do
|
19
|
+
<<-RUBY
|
20
|
+
config.active_support.deprecation = :notify
|
21
|
+
|
22
|
+
config.action_mailer.default_url_options = { :host => 'yourhost.com' }
|
23
|
+
# ActionMailer Config
|
24
|
+
# Setup for production - deliveries, no errors raised
|
25
|
+
config.action_mailer.delivery_method = :smtp
|
26
|
+
config.action_mailer.perform_deliveries = true
|
27
|
+
config.action_mailer.raise_delivery_errors = false
|
28
|
+
config.action_mailer.default :charset => "utf-8"
|
29
|
+
RUBY
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
__END__
|
35
|
+
|
36
|
+
name: ActionMailer
|
37
|
+
description: "Configure ActionMailer to show errors during development and suppress failures when the app is deployed to production."
|
38
|
+
author: fortuity
|
39
|
+
|
40
|
+
category: other
|
41
|
+
tags: [utilities, configuration]
|
@@ -0,0 +1,37 @@
|
|
1
|
+
if config['database']
|
2
|
+
say_wizard "Configuring '#{config['database']}' database settings..."
|
3
|
+
old_gem = gem_for_database
|
4
|
+
@options = @options.dup.merge(:database => config['database'])
|
5
|
+
gsub_file 'Gemfile', "gem '#{old_gem}'", "gem '#{gem_for_database}'"
|
6
|
+
template "config/databases/#{@options[:database]}.yml", "config/database.yml.new"
|
7
|
+
run 'mv config/database.yml.new config/database.yml'
|
8
|
+
end
|
9
|
+
|
10
|
+
after_bundler do
|
11
|
+
rake "db:create:all" if config['auto_create']
|
12
|
+
end
|
13
|
+
|
14
|
+
__END__
|
15
|
+
|
16
|
+
name: ActiveRecord
|
17
|
+
description: "Use the default ActiveRecord database store."
|
18
|
+
author: mbleigh
|
19
|
+
|
20
|
+
exclusive: orm
|
21
|
+
category: persistence
|
22
|
+
tags: [sql, defaults, orm]
|
23
|
+
|
24
|
+
config:
|
25
|
+
- database:
|
26
|
+
type: multiple_choice
|
27
|
+
prompt: "Which database are you using?"
|
28
|
+
choices:
|
29
|
+
- ["MySQL", mysql]
|
30
|
+
- ["Oracle", oracle]
|
31
|
+
- ["PostgreSQL", postgresql]
|
32
|
+
- ["SQLite", sqlite3]
|
33
|
+
- ["Frontbase", frontbase]
|
34
|
+
- ["IBM DB", ibm_db]
|
35
|
+
- auto_create:
|
36
|
+
type: boolean
|
37
|
+
prompt: "Automatically create database with default configuration?"
|
@@ -0,0 +1,75 @@
|
|
1
|
+
# Application template recipe for the rails3_devise_wizard. Check for a newer version here:
|
2
|
+
# https://github.com/fortuity/rails3_devise_wizard/blob/master/recipes/add_user_name.rb
|
3
|
+
|
4
|
+
after_bundler do
|
5
|
+
|
6
|
+
# Add a 'name' attribute to the User model
|
7
|
+
if recipes.include? 'mongoid'
|
8
|
+
gsub_file 'app/models/user.rb', /end/ do
|
9
|
+
<<-RUBY
|
10
|
+
field :name
|
11
|
+
validates_presence_of :name
|
12
|
+
validates_uniqueness_of :name, :email, :case_sensitive => false
|
13
|
+
attr_accessible :name, :email, :password, :password_confirmation, :remember_me
|
14
|
+
end
|
15
|
+
RUBY
|
16
|
+
end
|
17
|
+
elsif recipes.include? 'mongo_mapper'
|
18
|
+
# Using MongoMapper? Create an issue, suggest some code, and I'll add it
|
19
|
+
elsif recipes.include? 'active_record'
|
20
|
+
gsub_file 'app/models/user.rb', /end/ do
|
21
|
+
<<-RUBY
|
22
|
+
validates_presence_of :name
|
23
|
+
validates_uniqueness_of :name, :email, :case_sensitive => false
|
24
|
+
attr_accessible :name, :email, :password, :password_confirmation, :remember_me
|
25
|
+
end
|
26
|
+
RUBY
|
27
|
+
end
|
28
|
+
else
|
29
|
+
# Placeholder for some other ORM
|
30
|
+
end
|
31
|
+
|
32
|
+
if recipes.include? 'devise'
|
33
|
+
unless recipes.include? 'haml'
|
34
|
+
|
35
|
+
# Generate Devise views (unless you are using Haml)
|
36
|
+
run 'rails generate devise:views'
|
37
|
+
|
38
|
+
# Modify Devise views to add 'name'
|
39
|
+
inject_into_file "app/views/devise/registrations/edit.html.erb", :after => "<%= devise_error_messages! %>\n" do
|
40
|
+
<<-ERB
|
41
|
+
<p><%= f.label :name %><br />
|
42
|
+
<%= f.text_field :name %></p>
|
43
|
+
ERB
|
44
|
+
end
|
45
|
+
|
46
|
+
inject_into_file "app/views/devise/registrations/new.html.erb", :after => "<%= devise_error_messages! %>\n" do
|
47
|
+
<<-ERB
|
48
|
+
<p><%= f.label :name %><br />
|
49
|
+
<%= f.text_field :name %></p>
|
50
|
+
ERB
|
51
|
+
end
|
52
|
+
|
53
|
+
else
|
54
|
+
|
55
|
+
# copy Haml versions of modified Devise views
|
56
|
+
inside 'app/views/devise/registrations' do
|
57
|
+
get 'https://github.com/fortuity/rails3-application-templates/raw/master/files/rails3-mongoid-devise/app/views/devise/registrations/edit.html.haml', 'edit.html.haml'
|
58
|
+
get 'https://github.com/fortuity/rails3-application-templates/raw/master/files/rails3-mongoid-devise/app/views/devise/registrations/new.html.haml', 'new.html.haml'
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
|
67
|
+
__END__
|
68
|
+
|
69
|
+
name: AddUserName
|
70
|
+
description: "Modify the default Devise configuration to add a 'name' attribute for all users."
|
71
|
+
author: fortuity
|
72
|
+
|
73
|
+
requires: [devise]
|
74
|
+
category: other
|
75
|
+
tags: [utilities, configuration]
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# Application template recipe for the rails3_devise_wizard. Check for a newer version here:
|
2
|
+
# https://github.com/fortuity/rails3_devise_wizard/blob/master/recipes/application_layout.rb
|
3
|
+
|
4
|
+
after_bundler do
|
5
|
+
|
6
|
+
# Set up the default application layout
|
7
|
+
if recipes.include? 'haml'
|
8
|
+
remove_file 'app/views/layouts/application.html.erb'
|
9
|
+
# There is Haml code in this script. Changing the indentation is perilous between HAMLs.
|
10
|
+
create_file 'app/views/layouts/application.html.haml' do <<-HAML
|
11
|
+
!!!
|
12
|
+
%html
|
13
|
+
%head
|
14
|
+
%title #{app_name}
|
15
|
+
= stylesheet_link_tag :all
|
16
|
+
= javascript_include_tag :defaults
|
17
|
+
= csrf_meta_tag
|
18
|
+
%body
|
19
|
+
- flash.each do |name, msg|
|
20
|
+
= content_tag :div, msg, :id => "flash_\#{name}" if msg.is_a?(String)
|
21
|
+
= yield
|
22
|
+
HAML
|
23
|
+
end
|
24
|
+
else
|
25
|
+
inject_into_file 'app/views/layouts/application.html.erb', :after => "<body>\n" do
|
26
|
+
<<-ERB
|
27
|
+
<%- flash.each do |name, msg| -%>
|
28
|
+
<%= content_tag :div, msg, :id => "flash_\#{name}" if msg.is_a?(String) %>
|
29
|
+
<%- end -%>
|
30
|
+
ERB
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
__END__
|
37
|
+
|
38
|
+
name: ApplicationLayout
|
39
|
+
description: "Add a default application layout with flash messages."
|
40
|
+
author: fortuity
|
41
|
+
|
42
|
+
category: other
|
43
|
+
tags: [utilities, configuration]
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# Application template recipe for the rails3_devise_wizard. Check for a newer version here:
|
2
|
+
# https://github.com/fortuity/rails3_devise_wizard/blob/master/recipes/ban_spiders.rb
|
3
|
+
|
4
|
+
after_bundler do
|
5
|
+
|
6
|
+
# ban spiders from your site by changing robots.txt
|
7
|
+
gsub_file 'public/robots.txt', /# User-Agent/, 'User-Agent'
|
8
|
+
gsub_file 'public/robots.txt', /# Disallow/, 'Disallow'
|
9
|
+
|
10
|
+
end
|
11
|
+
|
12
|
+
__END__
|
13
|
+
|
14
|
+
name: BanSpiders
|
15
|
+
description: "Ban spiders from the site by changing robots.txt."
|
16
|
+
author: fortuity
|
17
|
+
|
18
|
+
category: other
|
19
|
+
tags: [utilities, configuration]
|
data/recipes/capybara.rb
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
gem 'capybara', :group => [:development, :test]
|
2
|
+
|
3
|
+
after_bundler do
|
4
|
+
create_file "spec/support/capybara.rb", <<-RUBY
|
5
|
+
require 'capybara/rails'
|
6
|
+
require 'capybara/rspec'
|
7
|
+
RUBY
|
8
|
+
|
9
|
+
create_file "spec/requests/home_spec.rb", <<-RUBY
|
10
|
+
require 'spec_helper'
|
11
|
+
|
12
|
+
describe 'visiting the homepage' do
|
13
|
+
before do
|
14
|
+
visit '/'
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should have a body' do
|
18
|
+
page.should have_css('body')
|
19
|
+
end
|
20
|
+
end
|
21
|
+
RUBY
|
22
|
+
end
|
23
|
+
|
24
|
+
__END__
|
25
|
+
|
26
|
+
name: Capybara
|
27
|
+
description: "Use the Capybara acceptance testing libraries with RSpec."
|
28
|
+
author: mbleigh
|
29
|
+
|
30
|
+
requires: [rspec]
|
31
|
+
run_after: [rspec]
|
32
|
+
exclusive: acceptance_testing
|
33
|
+
category: testing
|
34
|
+
tags: [acceptance]
|
data/recipes/cleanup.rb
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
# Application template recipe for the rails3_devise_wizard. Check for a newer version here:
|
2
|
+
# https://github.com/fortuity/rails3_devise_wizard/blob/master/recipes/cleanup.rb
|
3
|
+
|
4
|
+
after_bundler do
|
5
|
+
|
6
|
+
# remove unnecessary files
|
7
|
+
%w{
|
8
|
+
README
|
9
|
+
doc/README_FOR_APP
|
10
|
+
public/index.html
|
11
|
+
public/images/rails.png
|
12
|
+
}.each { |file| remove_file file }
|
13
|
+
|
14
|
+
# add placeholder READMEs
|
15
|
+
get "https://github.com/fortuity/rails-template-recipes/raw/master/sample_readme.txt", "README"
|
16
|
+
get "https://github.com/fortuity/rails-template-recipes/raw/master/sample_readme.textile", "README.textile"
|
17
|
+
gsub_file "README", /App_Name/, "#{app_name.humanize.titleize}"
|
18
|
+
gsub_file "README.textile", /App_Name/, "#{app_name.humanize.titleize}"
|
19
|
+
|
20
|
+
# remove commented lines from Gemfile
|
21
|
+
# thanks to https://github.com/perfectline/template-bucket/blob/master/cleanup.rb
|
22
|
+
gsub_file "Gemfile", /#.*\n/, "\n"
|
23
|
+
gsub_file "Gemfile", /\n+/, "\n"
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
__END__
|
28
|
+
|
29
|
+
name: Cleanup
|
30
|
+
description: "Remove unnecessary files left over from generating a new Rails app."
|
31
|
+
author: fortuity
|
32
|
+
|
33
|
+
category: other
|
34
|
+
tags: [utilities, configuration]
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# Application template recipe for the rails3_devise_wizard. Check for a newer version here:
|
2
|
+
# https://github.com/fortuity/rails3_devise_wizard/blob/master/recipes/css_setup.rb
|
3
|
+
|
4
|
+
after_bundler do
|
5
|
+
|
6
|
+
# Add a stylesheet with styles for a horizontal menu and flash messages
|
7
|
+
create_file 'public/stylesheets/application.css' do <<-CSS
|
8
|
+
ul.hmenu {
|
9
|
+
list-style: none;
|
10
|
+
margin: 0 0 2em;
|
11
|
+
padding: 0;
|
12
|
+
}
|
13
|
+
ul.hmenu li {
|
14
|
+
display: inline;
|
15
|
+
}
|
16
|
+
#flash_notice, #flash_alert {
|
17
|
+
padding: 5px 8px;
|
18
|
+
margin: 10px 0;
|
19
|
+
}
|
20
|
+
#flash_notice {
|
21
|
+
background-color: #CFC;
|
22
|
+
border: solid 1px #6C6;
|
23
|
+
}
|
24
|
+
#flash_alert {
|
25
|
+
background-color: #FCC;
|
26
|
+
border: solid 1px #C66;
|
27
|
+
}
|
28
|
+
CSS
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
__END__
|
34
|
+
|
35
|
+
name: CssSetup
|
36
|
+
description: "Add a stylesheet with styles for a horizontal menu and flash messages."
|
37
|
+
author: fortuity
|
38
|
+
|
39
|
+
category: other
|
40
|
+
tags: [utilities, configuration]
|
data/recipes/cucumber.rb
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
# Application template recipe for the rails3_devise_wizard. Check for a newer version here:
|
2
|
+
# https://github.com/fortuity/rails3_devise_wizard/blob/master/recipes/cucumber.rb
|
3
|
+
|
4
|
+
gem 'cucumber-rails', ">= 0.4.0", :group => :test
|
5
|
+
gem 'capybara', ">= 0.4.1.2", :group => :test
|
6
|
+
gem 'launchy', ">= 0.4.0", :group => :test
|
7
|
+
if config['relish']
|
8
|
+
gem 'relish', ">= 0.2.2", :group => :development
|
9
|
+
end
|
10
|
+
|
11
|
+
after_bundler do
|
12
|
+
generate "cucumber:install --capybara#{' --rspec' if recipes.include?('rspec')}#{' -D' unless recipes.include?('activerecord')}"
|
13
|
+
|
14
|
+
if recipes.include? 'mongoid'
|
15
|
+
# reset your application database to a pristine state during testing
|
16
|
+
create_file 'features/support/local_env.rb' do
|
17
|
+
<<-RUBY
|
18
|
+
require 'database_cleaner'
|
19
|
+
DatabaseCleaner.strategy = :truncation
|
20
|
+
DatabaseCleaner.orm = "mongoid"
|
21
|
+
Before { DatabaseCleaner.clean }
|
22
|
+
RUBY
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
# see https://github.com/aslakhellesoy/cucumber-rails/issues/closed/#issue/77
|
27
|
+
gsub_file 'features/support/env.rb', /require 'cucumber\/rails\/capybara_javascript_emulation'/, "# require 'cucumber/rails/capybara_javascript_emulation'"
|
28
|
+
|
29
|
+
end
|
30
|
+
|
31
|
+
if recipes.include? 'devise'
|
32
|
+
|
33
|
+
after_bundler do
|
34
|
+
|
35
|
+
# copy all the Cucumber scenario files from the rails3-mongoid-devise example app
|
36
|
+
inside 'features/users' do
|
37
|
+
get 'https://github.com/fortuity/rails3-mongoid-devise/raw/master/features/users/sign_in.feature', 'sign_in.feature'
|
38
|
+
get 'https://github.com/fortuity/rails3-mongoid-devise/raw/master/features/users/sign_out.feature', 'sign_out.feature'
|
39
|
+
get 'https://github.com/fortuity/rails3-mongoid-devise/raw/master/features/users/sign_up.feature', 'sign_up.feature'
|
40
|
+
get 'https://github.com/fortuity/rails3-mongoid-devise/raw/master/features/users/user_edit.feature', 'user_edit.feature'
|
41
|
+
get 'https://github.com/fortuity/rails3-mongoid-devise/raw/master/features/users/user_show.feature', 'user_show.feature'
|
42
|
+
end
|
43
|
+
inside 'features/step_definitions' do
|
44
|
+
get 'https://github.com/fortuity/rails3-mongoid-devise/raw/master/features/step_definitions/user_steps.rb', 'user_steps.rb'
|
45
|
+
end
|
46
|
+
remove_file 'features/support/paths.rb'
|
47
|
+
inside 'features/support' do
|
48
|
+
get 'https://github.com/fortuity/rails3-mongoid-devise/raw/master/features/support/paths.rb', 'paths.rb'
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
54
|
+
|
55
|
+
|
56
|
+
__END__
|
57
|
+
|
58
|
+
name: Cucumber
|
59
|
+
description: "Use Cucumber for integration testing with Capybara."
|
60
|
+
author: fortuity
|
61
|
+
|
62
|
+
exclusive: acceptance_testing
|
63
|
+
category: testing
|
64
|
+
tags: [acceptance]
|
65
|
+
|
66
|
+
config:
|
67
|
+
- relish:
|
68
|
+
type: boolean
|
69
|
+
prompt: Install the relish gem for viewing Cucumber features?
|