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.
Files changed (57) hide show
  1. checksums.yaml +7 -0
  2. data/README.textile +10 -0
  3. data/bin/redmint_composer +7 -0
  4. data/lib/rails_wizard.rb +7 -0
  5. data/lib/rails_wizard/command.rb +204 -0
  6. data/lib/rails_wizard/config.rb +88 -0
  7. data/lib/rails_wizard/diagnostics.rb +58 -0
  8. data/lib/rails_wizard/recipe.rb +114 -0
  9. data/lib/rails_wizard/recipes.rb +56 -0
  10. data/lib/rails_wizard/template.rb +111 -0
  11. data/recipes/admin.rb +42 -0
  12. data/recipes/analytics.rb +41 -0
  13. data/recipes/core.rb +32 -0
  14. data/recipes/deployment.rb +178 -0
  15. data/recipes/devise.rb +34 -0
  16. data/recipes/email.rb +65 -0
  17. data/recipes/email_dev.rb +92 -0
  18. data/recipes/example.rb +63 -0
  19. data/recipes/extras.rb +283 -0
  20. data/recipes/frontend.rb +33 -0
  21. data/recipes/gems.rb +274 -0
  22. data/recipes/git.rb +27 -0
  23. data/recipes/init.rb +179 -0
  24. data/recipes/learn_rails.rb +89 -0
  25. data/recipes/locale.rb +31 -0
  26. data/recipes/omniauth.rb +38 -0
  27. data/recipes/pages.rb +91 -0
  28. data/recipes/rails_bootstrap.rb +29 -0
  29. data/recipes/rails_devise.rb +26 -0
  30. data/recipes/rails_devise_pundit.rb +25 -0
  31. data/recipes/rails_devise_roles.rb +25 -0
  32. data/recipes/rails_foundation.rb +29 -0
  33. data/recipes/rails_mailinglist_activejob.rb +76 -0
  34. data/recipes/rails_omniauth.rb +27 -0
  35. data/recipes/rails_signup_download.rb +69 -0
  36. data/recipes/rails_stripe_checkout.rb +84 -0
  37. data/recipes/rails_stripe_coupons.rb +125 -0
  38. data/recipes/rails_stripe_membership_saas.rb +112 -0
  39. data/recipes/railsapps.rb +77 -0
  40. data/recipes/readme.rb +161 -0
  41. data/recipes/roles.rb +40 -0
  42. data/recipes/setup.rb +162 -0
  43. data/recipes/tests.rb +59 -0
  44. data/spec/rails_wizard/config_spec.rb +108 -0
  45. data/spec/rails_wizard/recipe_spec.rb +115 -0
  46. data/spec/rails_wizard/recipes/sanity_spec.rb +30 -0
  47. data/spec/rails_wizard/recipes_spec.rb +41 -0
  48. data/spec/rails_wizard/template_spec.rb +92 -0
  49. data/spec/spec_helper.rb +11 -0
  50. data/spec/support/rails_directory.rb +17 -0
  51. data/spec/support/template_runner.rb +28 -0
  52. data/spec/test_recipes/test_recipe_in_file.rb +9 -0
  53. data/templates/helpers.erb +138 -0
  54. data/templates/layout.erb +231 -0
  55. data/templates/recipe.erb +13 -0
  56. data/version.rb +3 -0
  57. metadata +201 -0
@@ -0,0 +1,27 @@
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_omniauth.rb
3
+
4
+ if prefer :apps4, 'rails-omniauth'
5
+ prefs[:authentication] = 'omniauth'
6
+ prefs[:authorization] = 'none'
7
+ prefs[:dashboard] = 'none'
8
+ prefs[:better_errors] = true
9
+ prefs[:email] = 'none'
10
+ prefs[:git] = true
11
+ prefs[:local_env_file] = false
12
+ prefs[:pry] = false
13
+ prefs[:quiet_assets] = true
14
+ prefs[:pages] = 'about+users'
15
+ prefs[:locale] = 'none'
16
+ prefs[:rubocop] = false
17
+ end
18
+
19
+ __END__
20
+
21
+ name: rails_omniauth
22
+ description: "rails-omniauth starter application"
23
+ author: RailsApps
24
+
25
+ requires: [core]
26
+ run_after: [git]
27
+ category: apps
@@ -0,0 +1,69 @@
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_signup_download.rb
3
+
4
+ if prefer :apps4, 'rails-signup-download'
5
+ prefs[:authentication] = 'devise'
6
+ prefs[:authorization] = 'roles'
7
+ prefs[:better_errors] = true
8
+ prefs[:devise_modules] = false
9
+ prefs[:form_builder] = false
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] = 'users'
16
+ prefs[:locale] = 'none'
17
+ prefs[:rubocop] = false
18
+
19
+ # gems
20
+ add_gem 'gibbon'
21
+ add_gem 'sucker_punch'
22
+
23
+ stage_three do
24
+ say_wizard "recipe stage three"
25
+ repo = 'https://raw.github.com/RailsApps/rails-signup-download/master/'
26
+
27
+ # >-------------------------------[ Config ]---------------------------------<
28
+
29
+ copy_from_repo 'config/initializers/active_job.rb', :repo => repo
30
+
31
+ # >-------------------------------[ Models ]--------------------------------<
32
+
33
+ copy_from_repo 'app/models/user.rb', :repo => repo
34
+
35
+ # >-------------------------------[ Controllers ]--------------------------------<
36
+
37
+ copy_from_repo 'app/controllers/visitors_controller.rb', :repo => repo
38
+ copy_from_repo 'app/controllers/products_controller.rb', :repo => repo
39
+
40
+ # >-------------------------------[ Jobs ]---------------------------------<
41
+
42
+ copy_from_repo 'app/jobs/mailing_list_signup_job.rb', :repo => repo
43
+
44
+ # >-------------------------------[ Views ]--------------------------------<
45
+
46
+ copy_from_repo 'app/views/visitors/index.html.erb', :repo => repo
47
+ copy_from_repo 'app/views/products/product.pdf', :repo => repo
48
+
49
+ # >-------------------------------[ Routes ]--------------------------------<
50
+
51
+ copy_from_repo 'config/routes.rb', :repo => repo
52
+
53
+ # >-------------------------------[ Tests ]--------------------------------<
54
+
55
+ copy_from_repo 'spec/features/users/product_acquisition_spec.rb', :repo => repo
56
+ copy_from_repo 'spec/controllers/products_controller_spec.rb', :repo => repo
57
+
58
+ end
59
+ end
60
+
61
+ __END__
62
+
63
+ name: rails_signup_download
64
+ description: "rails-signup-download starter application"
65
+ author: RailsApps
66
+
67
+ requires: [core]
68
+ run_after: [git]
69
+ category: apps
@@ -0,0 +1,84 @@
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_stripe_checkout.rb
3
+
4
+ if prefer :apps4, 'rails-stripe-checkout'
5
+ prefs[:frontend] = 'bootstrap3'
6
+ prefs[:authentication] = 'devise'
7
+ prefs[:authorization] = 'roles'
8
+ prefs[:better_errors] = true
9
+ prefs[:devise_modules] = false
10
+ prefs[:form_builder] = false
11
+ prefs[:git] = true
12
+ prefs[:local_env_file] = false
13
+ prefs[:pry] = false
14
+ prefs[:quiet_assets] = true
15
+ prefs[:secrets] = ['product_price',
16
+ 'product_title',
17
+ 'stripe_publishable_key',
18
+ 'stripe_api_key',
19
+ 'mailchimp_list_id',
20
+ 'mailchimp_api_key']
21
+ prefs[:pages] = 'users'
22
+ prefs[:locale] = 'none'
23
+ prefs[:rubocop] = false
24
+
25
+ # gems
26
+ add_gem 'gibbon'
27
+ add_gem 'stripe'
28
+ add_gem 'sucker_punch'
29
+
30
+ stage_three do
31
+ say_wizard "recipe stage three"
32
+ repo = 'https://raw.github.com/RailsApps/rails-stripe-checkout/master/'
33
+
34
+ # >-------------------------------[ Config ]---------------------------------<
35
+
36
+ copy_from_repo 'config/initializers/active_job.rb', :repo => repo
37
+ copy_from_repo 'config/initializers/devise_permitted_parameters.rb', :repo => repo
38
+ copy_from_repo 'config/initializers/stripe.rb', :repo => repo
39
+
40
+ # >-------------------------------[ Assets ]--------------------------------<
41
+
42
+ copy_from_repo 'app/assets/images/rubyonrails.png', :repo => repo
43
+
44
+ # >-------------------------------[ Models ]--------------------------------<
45
+
46
+ copy_from_repo 'app/models/user.rb', :repo => repo
47
+
48
+ # >-------------------------------[ Controllers ]--------------------------------<
49
+
50
+ copy_from_repo 'app/controllers/visitors_controller.rb', :repo => repo
51
+ copy_from_repo 'app/controllers/products_controller.rb', :repo => repo
52
+ copy_from_repo 'app/controllers/registrations_controller.rb', :repo => repo
53
+
54
+ # >-------------------------------[ Jobs ]---------------------------------<
55
+
56
+ copy_from_repo 'app/jobs/mailing_list_signup_job.rb', :repo => repo
57
+
58
+ # >-------------------------------[ Views ]--------------------------------<
59
+
60
+ copy_from_repo 'app/views/devise/registrations/new.html.erb', :repo => repo
61
+ copy_from_repo 'app/views/visitors/_purchase.html.erb', :repo => repo
62
+ copy_from_repo 'app/views/visitors/index.html.erb', :repo => repo
63
+ copy_from_repo 'app/views/products/product.pdf', :repo => repo
64
+
65
+ # >-------------------------------[ Routes ]--------------------------------<
66
+
67
+ copy_from_repo 'config/routes.rb', :repo => repo
68
+
69
+ # >-------------------------------[ Tests ]--------------------------------<
70
+
71
+ ### tests not implemented
72
+
73
+ end
74
+ end
75
+
76
+ __END__
77
+
78
+ name: rails_stripe_checkout
79
+ description: "rails-stripe-checkout starter application"
80
+ author: RailsApps
81
+
82
+ requires: [core]
83
+ run_after: [git]
84
+ category: apps
@@ -0,0 +1,125 @@
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_stripe_coupons.rb
3
+
4
+ if prefer :apps4, 'rails-stripe-coupons'
5
+ prefs[:frontend] = 'bootstrap3'
6
+ prefs[:authentication] = 'devise'
7
+ prefs[:authorization] = 'roles'
8
+ prefs[:better_errors] = true
9
+ prefs[:devise_modules] = false
10
+ prefs[:form_builder] = false
11
+ prefs[:git] = true
12
+ prefs[:local_env_file] = false
13
+ prefs[:pry] = false
14
+ prefs[:quiet_assets] = true
15
+ prefs[:secrets] = ['stripe_publishable_key',
16
+ 'stripe_api_key',
17
+ 'product_price',
18
+ 'product_title',
19
+ 'mailchimp_list_id',
20
+ 'mailchimp_api_key']
21
+ prefs[:pages] = 'users'
22
+ prefs[:locale] = 'none'
23
+ prefs[:rubocop] = false
24
+
25
+ # gems
26
+ add_gem 'gibbon'
27
+ add_gem 'high_voltage'
28
+ add_gem 'stripe'
29
+ add_gem 'sucker_punch'
30
+
31
+ stage_three do
32
+ say_wizard "recipe stage three"
33
+ repo = 'https://raw.github.com/RailsApps/rails-stripe-coupons/master/'
34
+
35
+ # >-------------------------------[ Migrations ]---------------------------------<
36
+
37
+ generate 'migration AddStripeTokenToUsers stripe_token:string'
38
+ generate 'scaffold Coupon code role mailing_list_id list_group price:integer --no-test-framework --no-helper --no-assets --no-jbuilder'
39
+ generate 'migration AddCouponRefToUsers coupon:references'
40
+ run 'bundle exec rake db:migrate'
41
+
42
+ # >-------------------------------[ Config ]---------------------------------<
43
+
44
+ copy_from_repo 'config/initializers/active_job.rb', :repo => repo
45
+ copy_from_repo 'config/initializers/stripe.rb', :repo => repo
46
+
47
+ # >-------------------------------[ Assets ]--------------------------------<
48
+
49
+ copy_from_repo 'app/assets/images/rubyonrails.png', :repo => repo
50
+
51
+ # >-------------------------------[ Controllers ]--------------------------------<
52
+
53
+ copy_from_repo 'app/controllers/coupons_controller.rb', :repo => repo
54
+ copy_from_repo 'app/controllers/visitors_controller.rb', :repo => repo
55
+ copy_from_repo 'app/controllers/products_controller.rb', :repo => repo
56
+ copy_from_repo 'app/controllers/registrations_controller.rb', :repo => repo
57
+
58
+ # >-------------------------------[ Helpers ]--------------------------------<
59
+
60
+ copy_from_repo 'app/helpers/application_helper.rb', :repo => repo
61
+
62
+ # >-------------------------------[ Jobs ]---------------------------------<
63
+
64
+ copy_from_repo 'app/jobs/mailing_list_signup_job.rb', :repo => repo
65
+ copy_from_repo 'app/jobs/payment_job.rb', :repo => repo
66
+
67
+ # >-------------------------------[ Mailers ]--------------------------------<
68
+
69
+ copy_from_repo 'app/mailers/application_mailer.rb', :repo => repo
70
+ copy_from_repo 'app/mailers/payment_failure_mailer.rb', :repo => repo
71
+
72
+ # >-------------------------------[ Models ]--------------------------------<
73
+
74
+ copy_from_repo 'app/models/coupon.rb', :repo => repo
75
+ copy_from_repo 'app/models/user.rb', :repo => repo
76
+
77
+ # >-------------------------------[ Services ]---------------------------------<
78
+
79
+ copy_from_repo 'app/services/create_couponcodes_service.rb', :repo => repo
80
+ copy_from_repo 'app/services/mailing_list_signup_service.rb', :repo => repo
81
+ copy_from_repo 'app/services/make_payment_service.rb', :repo => repo
82
+
83
+ # >-------------------------------[ Views ]--------------------------------<
84
+
85
+ copy_from_repo 'app/views/coupons/_form.html.erb', :repo => repo
86
+ copy_from_repo 'app/views/coupons/edit.html.erb', :repo => repo
87
+ copy_from_repo 'app/views/coupons/index.html.erb', :repo => repo
88
+ copy_from_repo 'app/views/coupons/new.html.erb', :repo => repo
89
+ copy_from_repo 'app/views/coupons/show.html.erb', :repo => repo
90
+ copy_from_repo 'app/views/devise/registrations/_javascript.html.erb', :repo => repo
91
+ copy_from_repo 'app/views/devise/registrations/edit.html.erb', :repo => repo
92
+ copy_from_repo 'app/views/devise/registrations/new.html.erb', :repo => repo
93
+ copy_from_repo 'app/views/layouts/_navigation_links.html.erb', :repo => repo
94
+ copy_from_repo 'app/views/layouts/application.html.erb', :repo => repo
95
+ copy_from_repo 'app/views/layouts/mailer.html.erb', :repo => repo
96
+ copy_from_repo 'app/views/layouts/mailer.text.erb', :repo => repo
97
+ copy_from_repo 'app/views/pages/downloads.html.erb', :repo => repo
98
+ copy_from_repo 'app/views/payment_failure_mailer/failed_payment_email.html.erb', :repo => repo
99
+ copy_from_repo 'app/views/payment_failure_mailer/failed_payment_email.text.erb', :repo => repo
100
+ copy_from_repo 'app/views/users/show.html.erb', :repo => repo
101
+ copy_from_repo 'app/views/visitors/_purchase.html.erb', :repo => repo
102
+ copy_from_repo 'app/views/visitors/index.html.erb', :repo => repo
103
+ copy_from_repo 'app/views/products/product.pdf', :repo => repo
104
+ copy_from_repo 'public/offer.html', :repo => repo
105
+
106
+ # >-------------------------------[ Routes ]--------------------------------<
107
+
108
+ copy_from_repo 'config/routes.rb', :repo => repo
109
+
110
+ # >-------------------------------[ Tests ]--------------------------------<
111
+
112
+ ### tests not implemented
113
+
114
+ end
115
+ end
116
+
117
+ __END__
118
+
119
+ name: rails_stripe_coupons
120
+ description: "rails-stripe-coupons starter application"
121
+ author: RailsApps
122
+
123
+ requires: [core]
124
+ run_after: [git]
125
+ category: apps
@@ -0,0 +1,112 @@
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_stripe_membership_saas.rb
3
+
4
+ if prefer :apps4, 'rails-stripe-membership-saas'
5
+ prefs[:frontend] = 'bootstrap3'
6
+ prefs[:authentication] = 'devise'
7
+ prefs[:authorization] = 'roles'
8
+ prefs[:better_errors] = true
9
+ prefs[:devise_modules] = false
10
+ prefs[:form_builder] = false
11
+ prefs[:git] = true
12
+ prefs[:local_env_file] = false
13
+ prefs[:pry] = false
14
+ prefs[:quiet_assets] = true
15
+ prefs[:disable_turbolinks] = true
16
+ prefs[:secrets] = ['stripe_publishable_key',
17
+ 'stripe_api_key',
18
+ 'mailchimp_list_id',
19
+ 'mailchimp_api_key']
20
+ prefs[:pages] = 'users'
21
+ prefs[:locale] = 'none'
22
+ prefs[:rubocop] = false
23
+
24
+ # gems
25
+ add_gem 'gibbon'
26
+ add_gem 'payola-payments'
27
+ add_gem 'sucker_punch'
28
+
29
+ stage_three do
30
+ say_wizard "recipe stage three"
31
+ repo = 'https://raw.github.com/RailsApps/rails-stripe-membership-saas/master/'
32
+
33
+ # >-------------------------------[ Migrations ]---------------------------------<
34
+
35
+ generate 'payola:install'
36
+ generate 'model Plan name stripe_id interval amount:integer --no-test-framework'
37
+ generate 'migration AddPlanRefToUsers plan:references'
38
+ generate 'migration RemoveNameFromUsers name'
39
+ run 'bundle exec rake db:migrate'
40
+
41
+ # >-------------------------------[ Config ]---------------------------------<
42
+
43
+ copy_from_repo 'config/initializers/active_job.rb', :repo => repo
44
+ copy_from_repo 'config/initializers/payola.rb', :repo => repo
45
+ copy_from_repo 'db/seeds.rb', :repo => repo
46
+
47
+ # >-------------------------------[ Assets ]--------------------------------<
48
+
49
+ copy_from_repo 'app/assets/stylesheets/pricing.css.scss', :repo => repo
50
+
51
+ # >-------------------------------[ Controllers ]--------------------------------<
52
+
53
+ copy_from_repo 'app/controllers/application_controller.rb', :repo => repo
54
+ copy_from_repo 'app/controllers/content_controller.rb', :repo => repo
55
+ copy_from_repo 'app/controllers/visitors_controller.rb', :repo => repo
56
+ copy_from_repo 'app/controllers/products_controller.rb', :repo => repo
57
+ copy_from_repo 'app/controllers/registrations_controller.rb', :repo => repo
58
+
59
+ # >-------------------------------[ Jobs ]---------------------------------<
60
+
61
+ copy_from_repo 'app/jobs/mailing_list_signup_job.rb', :repo => repo
62
+
63
+ # >-------------------------------[ Mailers ]--------------------------------<
64
+
65
+ copy_from_repo 'app/mailers/application_mailer.rb', :repo => repo
66
+ copy_from_repo 'app/mailers/user_mailer.rb', :repo => repo
67
+
68
+ # >-------------------------------[ Models ]--------------------------------<
69
+
70
+ copy_from_repo 'app/models/plan.rb', :repo => repo
71
+ copy_from_repo 'app/models/user.rb', :repo => repo
72
+
73
+ # >-------------------------------[ Services ]---------------------------------<
74
+
75
+ copy_from_repo 'app/services/create_plan_service.rb', :repo => repo
76
+
77
+ # >-------------------------------[ Views ]--------------------------------<
78
+
79
+ copy_from_repo 'app/views/content/gold.html.erb', :repo => repo
80
+ copy_from_repo 'app/views/content/platinum.html.erb', :repo => repo
81
+ copy_from_repo 'app/views/content/silver.html.erb', :repo => repo
82
+ copy_from_repo 'app/views/devise/registrations/edit.html.erb', :repo => repo
83
+ copy_from_repo 'app/views/devise/registrations/new.html.erb', :repo => repo
84
+ copy_from_repo 'app/views/layouts/_navigation_links.html.erb', :repo => repo
85
+ copy_from_repo 'app/views/layouts/application.html.erb', :repo => repo
86
+ copy_from_repo 'app/views/layouts/mailer.html.erb', :repo => repo
87
+ copy_from_repo 'app/views/layouts/mailer.text.erb', :repo => repo
88
+ copy_from_repo 'app/views/user_mailer/expire_email.html.erb', :repo => repo
89
+ copy_from_repo 'app/views/user_mailer/expire_email.text.erb', :repo => repo
90
+ copy_from_repo 'app/views/visitors/index.html.erb', :repo => repo
91
+ copy_from_repo 'app/views/products/product.pdf', :repo => repo
92
+
93
+ # >-------------------------------[ Routes ]--------------------------------<
94
+
95
+ copy_from_repo 'config/routes.rb', :repo => repo
96
+
97
+ # >-------------------------------[ Tests ]--------------------------------<
98
+
99
+ ### tests not implemented
100
+
101
+ end
102
+ end
103
+
104
+ __END__
105
+
106
+ name: rails_stripe_membership_saas
107
+ description: "rails-stripe-membership-saas starter application"
108
+ author: RailsApps
109
+
110
+ requires: [core]
111
+ run_after: [git]
112
+ category: apps
@@ -0,0 +1,77 @@
1
+ # Application template recipe for the rails_apps_composer. Change the recipe here:
2
+ # https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/railsapps.rb
3
+
4
+ raise if (defined? defaults) || (defined? preferences) # Shouldn't happen.
5
+ if options[:verbose]
6
+ print "\nrecipes: ";p recipes
7
+ print "\ngems: " ;p gems
8
+ print "\nprefs: " ;p prefs
9
+ print "\nconfig: " ;p config
10
+ end
11
+
12
+ case Rails::VERSION::MAJOR.to_s
13
+ when "3"
14
+ say_wizard "Please upgrade to Rails 4.1 or newer."
15
+ when "4"
16
+ case Rails::VERSION::MINOR.to_s
17
+ when "0"
18
+ say_wizard "Please upgrade to Rails 4.1 or newer."
19
+ else
20
+ prefs[:apps4] = multiple_choice "Build a starter application?",
21
+ [["Build a RailsApps example application", "railsapps"],
22
+ ["Contributed applications (none available)", "contributed_app"],
23
+ ["Redmint proyect", "none"]] unless prefs.has_key? :apps4
24
+ case prefs[:apps4]
25
+ when 'railsapps'
26
+ case Rails::VERSION::MINOR.to_s
27
+ when "2"
28
+ prefs[:apps4] = multiple_choice "Choose a starter application.",
29
+ [["learn-rails", "learn-rails"],
30
+ ["rails-bootstrap", "rails-bootstrap"],
31
+ ["rails-foundation", "rails-foundation"],
32
+ ["rails-mailinglist-activejob", "rails-mailinglist-activejob"],
33
+ ["rails-omniauth", "rails-omniauth"],
34
+ ["rails-devise", "rails-devise"],
35
+ ["rails-devise-roles", "rails-devise-roles"],
36
+ ["rails-devise-pundit", "rails-devise-pundit"],
37
+ ["rails-signup-download", "rails-signup-download"],
38
+ ["rails-stripe-checkout", "rails-stripe-checkout"],
39
+ ["rails-stripe-coupons", "rails-stripe-coupons"],
40
+ ["rails-stripe-membership-saas", "rails-stripe-membership-saas"]]
41
+ else
42
+ prefs[:apps4] = multiple_choice "Upgrade to Rails 4.2 for more choices.",
43
+ [["learn-rails", "learn-rails"],
44
+ ["rails-bootstrap", "rails-bootstrap"],
45
+ ["rails-foundation", "rails-foundation"],
46
+ ["rails-omniauth", "rails-omniauth"],
47
+ ["rails-devise", "rails-devise"],
48
+ ["rails-devise-roles", "rails-devise-roles"],
49
+ ["rails-devise-pundit", "rails-devise-pundit"]]
50
+ end
51
+ when 'contributed_app'
52
+ prefs[:apps4] = multiple_choice "No contributed applications are available.",
53
+ [["create custom application", "railsapps"]]
54
+ end
55
+ end
56
+ end
57
+
58
+ unless prefs[:announcements]
59
+ say_loud '', 'Get on the mailing list for Rails Composer news?'
60
+ prefs[:announcements] = ask_wizard('Enter your email address:')
61
+ if prefs[:announcements].present?
62
+ system "curl --silent http://mailinglist.railscomposer.com/api -d'visitor[email]=#{prefs[:announcements]}' > /dev/null"
63
+ prefs[:announcements] = 'mailinglist'
64
+ else
65
+ prefs[:announcements] = 'none'
66
+ end
67
+ end
68
+
69
+ __END__
70
+
71
+ name: railsapps
72
+ description: "Install RailsApps example applications."
73
+ author: RailsApps
74
+
75
+ requires: [core]
76
+ run_after: [git]
77
+ category: configuration