lib/prop/app_builder.rb in prop_up-0.0.3 vs lib/prop/app_builder.rb in prop_up-0.0.4

- old
+ new

@@ -1,9 +1,15 @@ +require 'travis' module Prop class AppBuilder < Rails::AppBuilder include Prop::Actions + def resolve_qt4_dependency + run 'brew install qt4' + run 'bundle' + end + def readme template 'README.md.erb', 'README.md' end def remove_public_index @@ -149,10 +155,43 @@ def use_rspec_binstub run 'bundle binstub rspec-core' run 'rm bin/autospec' end + def generate_login_specs + empty_directory 'spec/features' + copy_file 'user_sign_up_spec.rb', 'spec/features/user_sign_up_spec.rb' + copy_file 'user_sign_in_spec.rb', 'spec/features/user_sign_in_spec.rb' + end + + def clean_up_factories + remove_file 'spec/factories/users.rb' + remove_file 'spec/models/user_spec.rb' + remove_file 'app/views/devise/registrations/new.html.erb' + copy_file 'factories.rb', 'spec/factories/factories.rb' + end + + def create_controller_for_sign_in + copy_file 'new_registration.html.erb', 'app/views/devise/registrations/new.html.erb' + replace_in_file 'config/routes.rb', + /Application\.routes\.draw do/, + "Application.routes.draw do\nroot to: 'application#index'\n" + remove_file 'app/controllers/application_controller.rb' + copy_file 'application_controller.rb', 'app/controllers/application_controller.rb' + copy_file 'root_index.html.erb', 'app/views/application/index.html.erb' + end + + def enable_logout + empty_directory 'app/views/shared' + copy_file 'nav_bar.html.erb', 'app/views/shared/_nav_bar.html.erb' + replace_in_file 'config/initializers/devise.rb', /config\.sign_out_via = \:delete/, "config.sign_out_via = :get\n" + end + + def migrate_test_db + run 'rake db:test:prepare' + end + def configure_background_jobs_for_rspec copy_file 'background_jobs_rspec.rb', 'spec/support/background_jobs.rb' run 'rails g delayed_job:active_record' end @@ -256,9 +295,32 @@ end def create_github_repo(repo_name) path_addition = override_path_for_tests run "#{path_addition} hub create #{repo_name}" + end + + def setup_travis_ci + path_addition = override_path_for_tests + run "#{path_addition} travis login --org --auto" + run "#{path_addition} travis sync" + run "#{path_addition} travis enable" + copy_file '.travis.yml', '.travis.yml' + end + + def self.github_username + `travis login --org --auto` + tk = `travis token` + token = tk.split(' ').pop + client = ::Travis::Client.new(access_token: "#{token}") + client.user.login + end + + def initial_commit_and_push + path_addition = override_path_for_tests + run "#{path_addition} git add ." + run "#{path_addition} git commit -m 'Initial Commit'" + run "#{path_addition} git push -u origin master" end def copy_miscellaneous_files copy_file 'errors.rb', 'config/initializers/errors.rb' end