redmint_composer 2.3
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.
- checksums.yaml +7 -0
- data/README.textile +10 -0
- data/bin/redmint_composer +7 -0
- data/lib/rails_wizard.rb +7 -0
- data/lib/rails_wizard/command.rb +204 -0
- data/lib/rails_wizard/config.rb +88 -0
- data/lib/rails_wizard/diagnostics.rb +58 -0
- data/lib/rails_wizard/recipe.rb +114 -0
- data/lib/rails_wizard/recipes.rb +56 -0
- data/lib/rails_wizard/template.rb +111 -0
- data/recipes/admin.rb +42 -0
- data/recipes/analytics.rb +41 -0
- data/recipes/core.rb +32 -0
- data/recipes/deployment.rb +178 -0
- data/recipes/devise.rb +34 -0
- data/recipes/email.rb +65 -0
- data/recipes/email_dev.rb +92 -0
- data/recipes/example.rb +63 -0
- data/recipes/extras.rb +283 -0
- data/recipes/frontend.rb +33 -0
- data/recipes/gems.rb +274 -0
- data/recipes/git.rb +27 -0
- data/recipes/init.rb +179 -0
- data/recipes/learn_rails.rb +89 -0
- data/recipes/locale.rb +31 -0
- data/recipes/omniauth.rb +38 -0
- data/recipes/pages.rb +91 -0
- data/recipes/rails_bootstrap.rb +29 -0
- data/recipes/rails_devise.rb +26 -0
- data/recipes/rails_devise_pundit.rb +25 -0
- data/recipes/rails_devise_roles.rb +25 -0
- data/recipes/rails_foundation.rb +29 -0
- data/recipes/rails_mailinglist_activejob.rb +76 -0
- data/recipes/rails_omniauth.rb +27 -0
- data/recipes/rails_signup_download.rb +69 -0
- data/recipes/rails_stripe_checkout.rb +84 -0
- data/recipes/rails_stripe_coupons.rb +125 -0
- data/recipes/rails_stripe_membership_saas.rb +112 -0
- data/recipes/railsapps.rb +77 -0
- data/recipes/readme.rb +161 -0
- data/recipes/roles.rb +40 -0
- data/recipes/setup.rb +162 -0
- data/recipes/tests.rb +59 -0
- data/spec/rails_wizard/config_spec.rb +108 -0
- data/spec/rails_wizard/recipe_spec.rb +115 -0
- data/spec/rails_wizard/recipes/sanity_spec.rb +30 -0
- data/spec/rails_wizard/recipes_spec.rb +41 -0
- data/spec/rails_wizard/template_spec.rb +92 -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/spec/test_recipes/test_recipe_in_file.rb +9 -0
- data/templates/helpers.erb +138 -0
- data/templates/layout.erb +231 -0
- data/templates/recipe.erb +13 -0
- data/version.rb +3 -0
- metadata +201 -0
@@ -0,0 +1,89 @@
|
|
1
|
+
# Application template recipe for the rails_apps_composer. Change the recipe here:
|
2
|
+
# https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/learn_rails.rb
|
3
|
+
|
4
|
+
if prefer :apps4, 'learn-rails'
|
5
|
+
|
6
|
+
# preferences
|
7
|
+
prefs[:authentication] = false
|
8
|
+
prefs[:authorization] = false
|
9
|
+
prefs[:dashboard] = 'none'
|
10
|
+
prefs[:ban_spiders] = false
|
11
|
+
prefs[:better_errors] = true
|
12
|
+
prefs[:database] = 'sqlite'
|
13
|
+
prefs[:deployment] = 'heroku'
|
14
|
+
prefs[:devise_modules] = false
|
15
|
+
prefs[:dev_webserver] = 'webrick'
|
16
|
+
prefs[:email] = 'gmail'
|
17
|
+
prefs[:form_builder] = 'simple_form'
|
18
|
+
prefs[:frontend] = 'foundation5'
|
19
|
+
prefs[:github] = false
|
20
|
+
prefs[:git] = true
|
21
|
+
prefs[:local_env_file] = 'none'
|
22
|
+
prefs[:prod_webserver] = 'same'
|
23
|
+
prefs[:pry] = false
|
24
|
+
prefs[:quiet_assets] = true
|
25
|
+
prefs[:secrets] = ['owner_email', 'mailchimp_list_id', 'mailchimp_api_key']
|
26
|
+
prefs[:templates] = 'erb'
|
27
|
+
prefs[:tests] = false
|
28
|
+
prefs[:pages] = 'none'
|
29
|
+
prefs[:locale] = 'none'
|
30
|
+
prefs[:analytics] = 'none'
|
31
|
+
prefs[:rubocop] = false
|
32
|
+
prefs[:disable_turbolinks] = false
|
33
|
+
|
34
|
+
# gems
|
35
|
+
add_gem 'high_voltage'
|
36
|
+
add_gem 'gibbon'
|
37
|
+
gsub_file 'Gemfile', /gem 'sqlite3'\n/, ''
|
38
|
+
add_gem 'sqlite3', :group => :development
|
39
|
+
add_gem 'rails_12factor', :group => :production
|
40
|
+
|
41
|
+
stage_three do
|
42
|
+
say_wizard "recipe stage three"
|
43
|
+
repo = 'https://raw.github.com/RailsApps/learn-rails/master/'
|
44
|
+
|
45
|
+
# >-------------------------------[ Models ]--------------------------------<
|
46
|
+
|
47
|
+
copy_from_repo 'app/models/contact.rb', :repo => repo
|
48
|
+
copy_from_repo 'app/models/visitor.rb', :repo => repo
|
49
|
+
|
50
|
+
# >-------------------------------[ Controllers ]--------------------------------<
|
51
|
+
|
52
|
+
copy_from_repo 'app/controllers/contacts_controller.rb', :repo => repo
|
53
|
+
copy_from_repo 'app/controllers/visitors_controller.rb', :repo => repo
|
54
|
+
|
55
|
+
# >-------------------------------[ Mailers ]--------------------------------<
|
56
|
+
|
57
|
+
generate 'mailer UserMailer'
|
58
|
+
copy_from_repo 'app/mailers/user_mailer.rb', :repo => repo
|
59
|
+
|
60
|
+
# >-------------------------------[ Views ]--------------------------------<
|
61
|
+
|
62
|
+
copy_from_repo 'app/views/contacts/new.html.erb', :repo => repo
|
63
|
+
copy_from_repo 'app/views/pages/about.html.erb', :repo => repo
|
64
|
+
copy_from_repo 'app/views/user_mailer/contact_email.html.erb', :repo => repo
|
65
|
+
copy_from_repo 'app/views/user_mailer/contact_email.text.erb', :repo => repo
|
66
|
+
copy_from_repo 'app/views/visitors/new.html.erb', :repo => repo
|
67
|
+
# create navigation links using the rails_layout gem
|
68
|
+
generate 'layout:navigation -f'
|
69
|
+
|
70
|
+
# >-------------------------------[ Routes ]--------------------------------<
|
71
|
+
|
72
|
+
copy_from_repo 'config/routes.rb', :repo => repo
|
73
|
+
|
74
|
+
# >-------------------------------[ Assets ]--------------------------------<
|
75
|
+
|
76
|
+
copy_from_repo 'app/assets/javascripts/segmentio.js', :repo => repo
|
77
|
+
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
__END__
|
82
|
+
|
83
|
+
name: learn_rails
|
84
|
+
description: "learn-rails starter application"
|
85
|
+
author: RailsApps
|
86
|
+
|
87
|
+
requires: [core]
|
88
|
+
run_after: [git]
|
89
|
+
category: apps
|
data/recipes/locale.rb
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
# Application template recipe for the rails_apps_composer. Change the recipe here:
|
2
|
+
# https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/locale.rb
|
3
|
+
|
4
|
+
unless prefs[:locale]
|
5
|
+
prefs[:locale] = ask_wizard('Set a locale? Enter nothing for English, or es, de, etc:')
|
6
|
+
prefs[:locale] = 'none' unless prefs[:locale].present?
|
7
|
+
end
|
8
|
+
|
9
|
+
unless prefer :locale, 'none'
|
10
|
+
add_gem 'devise-i18n' if prefer :authentication, 'devise'
|
11
|
+
end
|
12
|
+
|
13
|
+
stage_two do
|
14
|
+
unless prefer :locale, 'none'
|
15
|
+
locale_for_app = prefs[:locale].include?('-') ? "'#{prefs[:locale]}'" : prefs[:locale]
|
16
|
+
gsub_file 'config/application.rb', /# config.i18n.default_locale.*$/, "config.i18n.default_locale = :#{locale_for_app}"
|
17
|
+
locale_filename = "config/locales/#{prefs[:locale]}.yml"
|
18
|
+
create_file locale_filename
|
19
|
+
append_to_file locale_filename, "#{prefs[:locale]}:"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
__END__
|
24
|
+
|
25
|
+
name: locale
|
26
|
+
description: "Set default locale"
|
27
|
+
author: hedgesky
|
28
|
+
|
29
|
+
category: other
|
30
|
+
requires: [setup]
|
31
|
+
run_after: [setup]
|
data/recipes/omniauth.rb
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
# Application template recipe for the rails_apps_composer. Change the recipe here:
|
2
|
+
# https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/omniauth.rb
|
3
|
+
|
4
|
+
stage_two do
|
5
|
+
say_wizard "recipe stage two"
|
6
|
+
if prefer :authentication, 'omniauth'
|
7
|
+
repo = 'https://raw.github.com/RailsApps/rails-omniauth/master/'
|
8
|
+
copy_from_repo 'config/initializers/omniauth.rb', :repo => repo
|
9
|
+
gsub_file 'config/initializers/omniauth.rb', /twitter/, prefs[:omniauth_provider] unless prefer :omniauth_provider, 'twitter'
|
10
|
+
generate 'model User name:string provider:string uid:string'
|
11
|
+
run 'bundle exec rake db:migrate'
|
12
|
+
copy_from_repo 'app/models/user.rb', :repo => 'https://raw.github.com/RailsApps/rails-omniauth/master/'
|
13
|
+
copy_from_repo 'app/controllers/application_controller.rb', :repo => repo
|
14
|
+
filename = 'app/controllers/sessions_controller.rb'
|
15
|
+
copy_from_repo filename, :repo => repo
|
16
|
+
gsub_file filename, /twitter/, prefs[:omniauth_provider] unless prefer :omniauth_provider, 'twitter'
|
17
|
+
routes = <<-TEXT
|
18
|
+
get '/auth/:provider/callback' => 'sessions#create'
|
19
|
+
get '/signin' => 'sessions#new', :as => :signin
|
20
|
+
get '/signout' => 'sessions#destroy', :as => :signout
|
21
|
+
get '/auth/failure' => 'sessions#failure'
|
22
|
+
TEXT
|
23
|
+
inject_into_file 'config/routes.rb', routes + "\n", :after => "routes.draw do\n"
|
24
|
+
end
|
25
|
+
### GIT ###
|
26
|
+
git :add => '-A' if prefer :git, true
|
27
|
+
git :commit => '-qm "redmint_composer: omniauth"' if prefer :git, true
|
28
|
+
end
|
29
|
+
|
30
|
+
__END__
|
31
|
+
|
32
|
+
name: omniauth
|
33
|
+
description: "Add OmniAuth for authentication"
|
34
|
+
author: RailsApps
|
35
|
+
|
36
|
+
requires: [setup, gems]
|
37
|
+
run_after: [setup, gems]
|
38
|
+
category: mvc
|
data/recipes/pages.rb
ADDED
@@ -0,0 +1,91 @@
|
|
1
|
+
# Application template recipe for the rails_apps_composer. Change the recipe here:
|
2
|
+
# https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/pages.rb
|
3
|
+
|
4
|
+
stage_two do
|
5
|
+
say_wizard "recipe stage two"
|
6
|
+
case prefs[:pages]
|
7
|
+
when 'home'
|
8
|
+
generate 'pages:home -f'
|
9
|
+
when 'about'
|
10
|
+
generate 'pages:about -f'
|
11
|
+
when 'users'
|
12
|
+
generate 'pages:users -f'
|
13
|
+
generate 'pages:roles -f' if prefer :authorization, 'roles'
|
14
|
+
generate 'pages:authorized -f' if prefer :authorization, 'pundit'
|
15
|
+
when 'about+users'
|
16
|
+
generate 'pages:about -f'
|
17
|
+
generate 'pages:users -f'
|
18
|
+
generate 'pages:roles -f' if prefer :authorization, 'roles'
|
19
|
+
generate 'pages:authorized -f' if prefer :authorization, 'pundit'
|
20
|
+
end
|
21
|
+
generate 'pages:upmin -f' if prefer :dashboard, 'upmin'
|
22
|
+
generate 'layout:navigation -f'
|
23
|
+
### GIT ###
|
24
|
+
git :add => '-A' if prefer :git, true
|
25
|
+
git :commit => '-qm "redmint_composer: add pages"' if prefer :git, true
|
26
|
+
end
|
27
|
+
|
28
|
+
stage_four do
|
29
|
+
say_wizard "recipe stage four"
|
30
|
+
case prefs[:layouts]
|
31
|
+
when 'bare'
|
32
|
+
generate 'theme:bare -f'
|
33
|
+
when 'blog_home'
|
34
|
+
generate 'theme:blog_home -f'
|
35
|
+
when 'business_casual'
|
36
|
+
generate 'theme:business_casual -f'
|
37
|
+
when 'business_frontpage'
|
38
|
+
generate 'theme:business_frontpage -f'
|
39
|
+
when 'clean_blog'
|
40
|
+
generate 'theme:clean_blog -f'
|
41
|
+
when 'four_col_portfolio'
|
42
|
+
generate 'theme:four_col_portfolio -f'
|
43
|
+
when 'full_width_pics'
|
44
|
+
generate 'theme:full_width_pics -f'
|
45
|
+
when 'heroic_features'
|
46
|
+
generate 'theme:heroic_features -f'
|
47
|
+
when 'landing_page'
|
48
|
+
generate 'theme:landing_page -f'
|
49
|
+
when 'modern_business'
|
50
|
+
generate 'theme:modern_business -f'
|
51
|
+
when 'one_col_portfolio'
|
52
|
+
generate 'theme:one_col_portfolio -f'
|
53
|
+
when 'one_page_wonder'
|
54
|
+
generate 'theme:one_page_wonder -f'
|
55
|
+
when 'portfolio_item'
|
56
|
+
generate 'theme:portfolio_item -f'
|
57
|
+
when 'round_about'
|
58
|
+
generate 'theme:round_about -f'
|
59
|
+
when 'shop_homepage'
|
60
|
+
generate 'theme:shop_homepage -f'
|
61
|
+
when 'shop_item'
|
62
|
+
generate 'theme:shop_item -f'
|
63
|
+
when 'simple_sidebar'
|
64
|
+
generate 'theme:simple_sidebar -f'
|
65
|
+
when 'small_business'
|
66
|
+
generate 'theme:small_business -f'
|
67
|
+
when 'stylish_portfolio'
|
68
|
+
generate 'theme:stylish_portfolio -f'
|
69
|
+
when 'the_big_picture'
|
70
|
+
generate 'theme:the_big_picture -f'
|
71
|
+
when 'three_col_portfolio'
|
72
|
+
generate 'theme:three_col_portfolio -f'
|
73
|
+
when 'thumbnail_gallery'
|
74
|
+
generate 'theme:thumbnail_gallery -f'
|
75
|
+
when 'two_col_portfolio'
|
76
|
+
generate 'theme:two_col_portfolio -f'
|
77
|
+
end
|
78
|
+
### GIT ###
|
79
|
+
git :add => '-A' if prefer :git, true
|
80
|
+
git :commit => '-qm "redmint_composer: add Bootstrap page layouts"' if prefer :git, true
|
81
|
+
end
|
82
|
+
|
83
|
+
__END__
|
84
|
+
|
85
|
+
name: pages
|
86
|
+
description: "Add pages"
|
87
|
+
author: RailsApps
|
88
|
+
|
89
|
+
requires: [setup, gems, frontend]
|
90
|
+
run_after: [setup, gems, frontend]
|
91
|
+
category: mvc
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# Application template recipe for the rails_apps_composer. Change the recipe here:
|
2
|
+
# https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/rails_bootstrap.rb
|
3
|
+
|
4
|
+
if prefer :apps4, 'rails-bootstrap'
|
5
|
+
prefs[:authentication] = false
|
6
|
+
prefs[:authorization] = false
|
7
|
+
prefs[:dashboard] = 'none'
|
8
|
+
prefs[:better_errors] = true
|
9
|
+
prefs[:devise_modules] = false
|
10
|
+
prefs[:email] = 'none'
|
11
|
+
prefs[:frontend] = 'bootstrap3'
|
12
|
+
prefs[:git] = true
|
13
|
+
prefs[:local_env_file] = false
|
14
|
+
prefs[:pry] = false
|
15
|
+
prefs[:quiet_assets] = true
|
16
|
+
prefs[:pages] = 'about'
|
17
|
+
prefs[:locale] = 'none'
|
18
|
+
prefs[:rubocop] = false
|
19
|
+
end
|
20
|
+
|
21
|
+
__END__
|
22
|
+
|
23
|
+
name: rails_bootstrap
|
24
|
+
description: "rails-bootstrap starter application"
|
25
|
+
author: RailsApps
|
26
|
+
|
27
|
+
requires: [core]
|
28
|
+
run_after: [git]
|
29
|
+
category: apps
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# Application template recipe for the rails_apps_composer. Change the recipe here:
|
2
|
+
# https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/rails_devise.rb
|
3
|
+
|
4
|
+
if prefer :apps4, 'rails-devise'
|
5
|
+
prefs[:authentication] = 'devise'
|
6
|
+
prefs[:authorization] = false
|
7
|
+
prefs[:dashboard] = 'none'
|
8
|
+
prefs[:better_errors] = true
|
9
|
+
prefs[:git] = true
|
10
|
+
prefs[:local_env_file] = false
|
11
|
+
prefs[:pry] = false
|
12
|
+
prefs[:quiet_assets] = true
|
13
|
+
prefs[:pages] = 'users'
|
14
|
+
prefs[:locale] = 'none'
|
15
|
+
prefs[:rubocop] = false
|
16
|
+
end
|
17
|
+
|
18
|
+
__END__
|
19
|
+
|
20
|
+
name: rails_devise
|
21
|
+
description: "rails-devise starter application"
|
22
|
+
author: RailsApps
|
23
|
+
|
24
|
+
requires: [core]
|
25
|
+
run_after: [git]
|
26
|
+
category: apps
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# Application template recipe for the rails_apps_composer. Change the recipe here:
|
2
|
+
# https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/rails_devise_pundit.rb
|
3
|
+
|
4
|
+
if prefer :apps4, 'rails-devise-pundit'
|
5
|
+
prefs[:authentication] = 'devise'
|
6
|
+
prefs[:authorization] = 'pundit'
|
7
|
+
prefs[:better_errors] = true
|
8
|
+
prefs[:git] = true
|
9
|
+
prefs[:local_env_file] = false
|
10
|
+
prefs[:pry] = false
|
11
|
+
prefs[:quiet_assets] = true
|
12
|
+
prefs[:pages] = 'users'
|
13
|
+
prefs[:locale] = 'none'
|
14
|
+
prefs[:rubocop] = false
|
15
|
+
end
|
16
|
+
|
17
|
+
__END__
|
18
|
+
|
19
|
+
name: rails_devise_pundit
|
20
|
+
description: "rails-devise-pundit starter application"
|
21
|
+
author: RailsApps
|
22
|
+
|
23
|
+
requires: [core]
|
24
|
+
run_after: [git]
|
25
|
+
category: apps
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# Application template recipe for the rails_apps_composer. Change the recipe here:
|
2
|
+
# https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/rails_devise_roles.rb
|
3
|
+
|
4
|
+
if prefer :apps4, 'rails-devise-roles'
|
5
|
+
prefs[:authentication] = 'devise'
|
6
|
+
prefs[:authorization] = 'roles'
|
7
|
+
prefs[:better_errors] = true
|
8
|
+
prefs[:git] = true
|
9
|
+
prefs[:local_env_file] = false
|
10
|
+
prefs[:pry] = false
|
11
|
+
prefs[:quiet_assets] = true
|
12
|
+
prefs[:pages] = 'users'
|
13
|
+
prefs[:locale] = 'none'
|
14
|
+
prefs[:rubocop] = false
|
15
|
+
end
|
16
|
+
|
17
|
+
__END__
|
18
|
+
|
19
|
+
name: rails_devise_roles
|
20
|
+
description: "rails-devise-roles starter application"
|
21
|
+
author: RailsApps
|
22
|
+
|
23
|
+
requires: [core]
|
24
|
+
run_after: [git]
|
25
|
+
category: apps
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# Application template recipe for the rails_apps_composer. Change the recipe here:
|
2
|
+
# https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/rails_foundation.rb
|
3
|
+
|
4
|
+
if prefer :apps4, 'rails-foundation'
|
5
|
+
prefs[:authentication] = false
|
6
|
+
prefs[:authorization] = false
|
7
|
+
prefs[:dashboard] = 'none'
|
8
|
+
prefs[:better_errors] = true
|
9
|
+
prefs[:devise_modules] = false
|
10
|
+
prefs[:email] = 'none'
|
11
|
+
prefs[:frontend] = 'foundation5'
|
12
|
+
prefs[:git] = true
|
13
|
+
prefs[:local_env_file] = false
|
14
|
+
prefs[:pry] = false
|
15
|
+
prefs[:quiet_assets] = true
|
16
|
+
prefs[:pages] = 'about'
|
17
|
+
prefs[:locale] = 'none'
|
18
|
+
prefs[:rubocop] = false
|
19
|
+
end
|
20
|
+
|
21
|
+
__END__
|
22
|
+
|
23
|
+
name: rails_foundation
|
24
|
+
description: "rails-foundation starter application"
|
25
|
+
author: RailsApps
|
26
|
+
|
27
|
+
requires: [core]
|
28
|
+
run_after: [git]
|
29
|
+
category: apps
|
@@ -0,0 +1,76 @@
|
|
1
|
+
# Application template recipe for the rails_apps_composer. Change the recipe here:
|
2
|
+
# https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/rails_mailinglist_activejob.rb
|
3
|
+
|
4
|
+
if prefer :apps4, 'rails-mailinglist-activejob'
|
5
|
+
prefs[:authentication] = false
|
6
|
+
prefs[:authorization] = false
|
7
|
+
prefs[:dashboard] = 'none'
|
8
|
+
prefs[:better_errors] = true
|
9
|
+
prefs[:form_builder] = 'simple_form'
|
10
|
+
prefs[:git] = true
|
11
|
+
prefs[:local_env_file] = false
|
12
|
+
prefs[:pry] = false
|
13
|
+
prefs[:quiet_assets] = true
|
14
|
+
prefs[:secrets] = ['mailchimp_list_id', 'mailchimp_api_key']
|
15
|
+
prefs[:pages] = 'about'
|
16
|
+
prefs[:locale] = 'none'
|
17
|
+
prefs[:rubocop] = false
|
18
|
+
|
19
|
+
# gems
|
20
|
+
add_gem 'gibbon'
|
21
|
+
add_gem 'high_voltage'
|
22
|
+
add_gem 'sucker_punch'
|
23
|
+
|
24
|
+
stage_two do
|
25
|
+
say_wizard "recipe stage two"
|
26
|
+
generate 'model Visitor email:string'
|
27
|
+
end
|
28
|
+
|
29
|
+
stage_three do
|
30
|
+
say_wizard "recipe stage three"
|
31
|
+
repo = 'https://raw.github.com/RailsApps/rails-mailinglist-activejob/master/'
|
32
|
+
|
33
|
+
# >-------------------------------[ Config ]---------------------------------<
|
34
|
+
|
35
|
+
copy_from_repo 'config/initializers/active_job.rb', :repo => repo
|
36
|
+
|
37
|
+
# >-------------------------------[ Models ]--------------------------------<
|
38
|
+
|
39
|
+
copy_from_repo 'app/models/visitor.rb', :repo => repo
|
40
|
+
|
41
|
+
# >-------------------------------[ Controllers ]--------------------------<
|
42
|
+
|
43
|
+
copy_from_repo 'app/controllers/visitors_controller.rb', :repo => repo
|
44
|
+
|
45
|
+
# >-------------------------------[ Jobs ]---------------------------------<
|
46
|
+
|
47
|
+
copy_from_repo 'app/jobs/mailing_list_signup_job.rb', :repo => repo
|
48
|
+
|
49
|
+
# >-------------------------------[ Views ]--------------------------------<
|
50
|
+
|
51
|
+
remove_file 'app/views/visitors/index.html.erb'
|
52
|
+
copy_from_repo 'app/views/visitors/new.html.erb', :repo => repo
|
53
|
+
|
54
|
+
# >-------------------------------[ Routes ]-------------------------------<
|
55
|
+
|
56
|
+
gsub_file 'config/routes.rb', / root to: 'visitors#index'\n/, ''
|
57
|
+
inject_into_file 'config/routes.rb', " root to: 'visitors#new'\n", :after => "routes.draw do\n"
|
58
|
+
route = ' resources :visitors, only: [:new, :create]'
|
59
|
+
inject_into_file 'config/routes.rb', route + "\n", :after => "routes.draw do\n"
|
60
|
+
|
61
|
+
# >-------------------------------[ Tests ]--------------------------------<
|
62
|
+
|
63
|
+
### tests not implemented
|
64
|
+
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
__END__
|
69
|
+
|
70
|
+
name: rails_mailinglist_activejob
|
71
|
+
description: "rails_mailinglist_activejob starter application"
|
72
|
+
author: RailsApps
|
73
|
+
|
74
|
+
requires: [core]
|
75
|
+
run_after: [git]
|
76
|
+
category: apps
|