recipes/saas.rb in rails_apps_composer-2.2.25 vs recipes/saas.rb in rails_apps_composer-2.2.26

- old
+ new

@@ -1,10 +1,10 @@ # Application template recipe for the rails_apps_composer. Change the recipe here: # https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/saas.rb if prefer :railsapps, 'rails-stripe-membership-saas' - + after_everything do say_wizard "recipe running after 'bundle install'" repo = 'https://raw.github.com/RailsApps/rails-stripe-membership-saas/master/' # >-------------------------------[ Clean up starter app ]--------------------------------< @@ -64,16 +64,16 @@ # >-------------------------------[ Routes ]--------------------------------< copy_from_repo 'config/routes.rb', :repo => repo ### CORRECT APPLICATION NAME ### gsub_file 'config/routes.rb', /^.*.routes.draw do/, "#{app_const}.routes.draw do" - + # >-------------------------------[ Assets ]--------------------------------< copy_from_repo 'app/assets/javascripts/application.js', :repo => repo copy_from_repo 'app/assets/javascripts/jquery.readyselector.js', :repo => repo copy_from_repo 'app/assets/javascripts/jquery.externalscript.js', :repo => repo - copy_from_repo 'app/assets/javascripts/registrations.js.erb', :repo => repo + copy_from_repo 'app/assets/javascripts/registrations.js', :repo => repo copy_from_repo 'app/assets/stylesheets/application.css.scss', :repo => repo copy_from_repo 'app/assets/stylesheets/pricing.css.scss', :repo => repo # >-------------------------------[ RSpec ]--------------------------------< say_wizard "copying RSpec tests from the rails-stripe-membership-saas examples" @@ -93,17 +93,120 @@ copy_from_repo 'features/users/sign_up.feature', :repo => repo copy_from_repo 'features/users/sign_up_with_stripe.feature', :repo => repo copy_from_repo 'features/users/user_edit.feature', :repo => repo copy_from_repo 'features/users/user_delete.feature', :repo => repo copy_from_repo 'features/step_definitions/user_steps.rb', :repo => repo - copy_from_repo 'features/step_definitions/form_helper_steps.rb', :repo => repo + copy_from_repo 'features/step_definitions/form_helper_steps.rb', :repo => repo copy_from_repo 'config/locales/devise.en.yml', :repo => repo ### GIT ### git :add => '-A' if prefer :git, true git :commit => '-qm "rails_apps_composer: membership app"' if prefer :git, true end # after_bundler end # rails-stripe-membership-saas + +if prefer :railsapps, 'rails-recurly-subscription-saas' + + after_everything do + say_wizard "recipe running after 'bundle install'" + repo = 'https://raw.github.com/RailsApps/rails-recurly-subscription-saas/master/' + + # >-------------------------------[ Clean up starter app ]--------------------------------< + + %w{ + public/index.html + app/assets/images/rails.png + }.each { |file| remove_file file } + # remove commented lines and multiple blank lines from Gemfile + # thanks to https://github.com/perfectline/template-bucket/blob/master/cleanup.rb + gsub_file 'Gemfile', /#.*\n/, "\n" + gsub_file 'Gemfile', /\n^\s*\n/, "\n" + # remove commented lines and multiple blank lines from config/routes.rb + gsub_file 'config/routes.rb', / #.*\n/, "\n" + gsub_file 'config/routes.rb', /\n^\s*\n/, "\n" + # GIT + git :add => '-A' if prefer :git, true + git :commit => '-qm "rails_apps_composer: clean up starter app"' if prefer :git, true + + # >-------------------------------[ Migrations ]--------------------------------< + generate 'migration AddRecurlyToUsers first_name:string last_name:string customer_id:string' + run 'bundle exec rake db:drop' + run 'bundle exec rake db:migrate' + + # >-------------------------------[ Models ]--------------------------------< + copy_from_repo 'app/models/ability.rb', :repo => repo + copy_from_repo 'app/models/user.rb', :repo => repo + + # >-------------------------------[ Init ]--------------------------------< + copy_from_repo 'config/application.yml', :repo => repo + remove_file 'config/application.example.yml' + copy_file destination_root + '/config/application.yml', destination_root + '/config/application.example.yml' + copy_from_repo 'db/seeds.rb', :repo => repo + copy_from_repo 'config/initializers/recurly.rb', :repo => repo + run 'bundle exec rake db:seed' + run 'bundle exec rake db:test:prepare' + + # >-------------------------------[ Controllers ]--------------------------------< + copy_from_repo 'app/controllers/home_controller.rb', :repo => repo + generate 'controller content silver gold platinum --skip-stylesheets --skip-javascripts' + copy_from_repo 'app/controllers/content_controller.rb', :repo => repo + copy_from_repo 'app/controllers/registrations_controller.rb', :repo => repo + copy_from_repo 'app/controllers/application_controller.rb', :repo => repo + copy_from_repo 'app/controllers/users_controller.rb', :repo => repo + copy_from_repo 'app/controllers/recurly_controller.rb', :repo => repo + + # >-------------------------------[ Mailers ]--------------------------------< + generate 'mailer UserMailer' + copy_from_repo 'app/mailers/user_mailer.rb', :repo => repo + + # >-------------------------------[ Views ]--------------------------------< + copy_from_repo 'app/views/home/index.html.erb', :repo => repo + copy_from_repo 'app/views/layouts/_navigation.html.erb', :repo => repo + copy_from_repo 'app/views/devise/registrations/new.html.erb', :repo => repo + copy_from_repo 'app/views/devise/registrations/edit.html.erb', :repo => repo + copy_from_repo 'app/views/user_mailer/expire_email.html.erb', :repo => repo + copy_from_repo 'app/views/user_mailer/expire_email.text.erb', :repo => repo + + # >-------------------------------[ Routes ]--------------------------------< + copy_from_repo 'config/routes.rb', :repo => repo + ### CORRECT APPLICATION NAME ### + gsub_file 'config/routes.rb', /^.*.routes.draw do/, "#{app_const}.routes.draw do" + + # >-------------------------------[ Assets ]--------------------------------< + copy_from_repo 'app/assets/javascripts/application.js', :repo => repo + copy_from_repo 'app/assets/javascripts/jquery.readyselector.js', :repo => repo + copy_from_repo 'app/assets/javascripts/recurly.js', :repo => repo + copy_from_repo 'app/assets/javascripts/registrations.js', :repo => repo + copy_from_repo 'app/assets/stylesheets/application.css.scss', :repo => repo + copy_from_repo 'app/assets/stylesheets/pricing.css.scss', :repo => repo + + # >-------------------------------[ RSpec ]--------------------------------< + say_wizard "copying RSpec tests from the rails-recurly-subscription-saas examples" + copy_from_repo 'spec/factories/roles.rb', :repo => repo + copy_from_repo 'spec/factories/users.rb', :repo => repo + copy_from_repo 'spec/models/user_spec.rb', :repo => repo + copy_from_repo 'spec/controllers/content_controller_spec.rb', :repo => repo + copy_from_repo 'spec/mailers/user_mailer_spec.rb', :repo => repo + copy_from_repo 'spec/recurly/recurly_config_spec.rb', :repo => repo + + # >-------------------------------[ Cucumber ]--------------------------------< + say_wizard "copying Cucumber scenarios from the rails-recurly-subscription-saas examples" + remove_file 'features/users/user_show.feature' + copy_from_repo 'features/support/paths.rb', :repo => repo + copy_from_repo 'features/users/sign_in.feature', :repo => repo + copy_from_repo 'features/users/sign_up.feature', :repo => repo + copy_from_repo 'features/users/sign_up_with_recurly.feature', :repo => repo + copy_from_repo 'features/users/user_edit.feature', :repo => repo + copy_from_repo 'features/users/user_delete.feature', :repo => repo + copy_from_repo 'features/step_definitions/user_steps.rb', :repo => repo + copy_from_repo 'features/step_definitions/form_helper_steps.rb', :repo => repo + copy_from_repo 'config/locales/devise.en.yml', :repo => repo + + ### GIT ### + git :add => '-A' if prefer :git, true + git :commit => '-qm "rails_apps_composer: membership app"' if prefer :git, true + end # after_bundler +end # rails-recurly-subscription-saas __END__ name: prelaunch description: "Install an example application for a membership site."