class Suspenders::AppGenerator
Public Class Methods
accept_defaults()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 20 def self.accept_defaults Suspenders::AppBuilder.new.accept_defaults end
preflight_check()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 10 def self.preflight_check puts '"bundle install" will be run for the current ruby version and gemset. Press enter to continue...' prompt = STDIN.gets.chomp unless prompt.empty? puts "Skipping install. Please create a ruby gemset first!" exit 1 end end
start()
click to toggle source
Calls superclass method
# File lib/voyage/generators/app_generator.rb, line 3 def self.start preflight_check accept_defaults super end
Public Instance Methods
actually_setup_spring()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 183 def actually_setup_spring say "Springifying binstubs" build :setup_spring end
add_api_foundation()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 155 def add_api_foundation build :add_api_foundation end
add_app_css_file()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 107 def add_app_css_file build :add_app_css_file end
add_auto_annotate_models_rake_task()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 135 def add_auto_annotate_models_rake_task build :add_auto_annotate_models_rake_task end
add_favicon()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 139 def add_favicon build :add_favicon end
add_high_voltage_static_pages()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 95 def add_high_voltage_static_pages build :add_high_voltage_static_pages end
add_rubocop_config()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 131 def add_rubocop_config build :add_rubocop_config end
add_specs()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 147 def add_specs build :add_specs end
add_to_gitignore()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 179 def add_to_gitignore build :add_to_gitignore end
bon_voyage()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 193 def bon_voyage say 'Congratulations! You just pulled our suspenders, Headway style!' say honeybadger_outro end
bundle_without_production()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 67 def bundle_without_production build :bundle_without_production end
configure_app()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 134 def configure_app say 'Configuring app' build :configure_action_mailer build :configure_active_job build :configure_time_formats build :setup_default_rake_task build :replace_default_puma_configuration build :set_up_forego build :setup_rack_mini_profiler end
configure_rvm_prepend_bin_to_path()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 163 def configure_rvm_prepend_bin_to_path build :configure_rvm_prepend_bin_to_path end
copy_env_to_example()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 175 def copy_env_to_example build :copy_env_to_example end
copy_miscellaneous_files()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 207 def copy_miscellaneous_files say 'Copying miscellaneous support files' build :copy_miscellaneous_files end
create_github_repo()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 173 def create_github_repo if !options[:skip_git] && options[:github] say 'Creating Github repo' build :create_github_repo, options[:github] end end
create_heroku_apps()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 160 def create_heroku_apps if options[:heroku] say "Creating Heroku apps" build :create_heroku_apps, options[:heroku_flags] build :set_heroku_remotes build :set_heroku_rails_secrets build :set_heroku_application_host build :set_heroku_backup_schedule build :create_heroku_pipeline build :configure_automatic_deployment end end
create_local_heroku_setup()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 153 def create_local_heroku_setup say "Creating local Heroku setup" build :create_review_apps_setup_script build :create_deploy_script build :create_heroku_application_manifest_file end
create_suspenders_views()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 125 def create_suspenders_views say 'Creating suspenders views' build :create_partials_directory build :create_shared_flashes build :create_shared_javascripts build :create_shared_css_overrides build :create_application_layout end
customize_application_js()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 79 def customize_application_js build :customize_application_js end
customize_application_mailer()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 143 def customize_application_mailer build :customize_application_mailer end
customize_error_pages()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 212 def customize_error_pages say 'Customizing the 500/404/422 pages' build :customize_error_pages end
customize_gemfile()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 62 def customize_gemfile build :replace_gemfile, options[:path] build :set_ruby_to_version_being_used bundle_command 'install' build :configure_simple_form end
downgrade_neat_1_8_so_refills_media_mixin_works()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 99 def downgrade_neat_1_8_so_refills_media_mixin_works build :downgrade_neat_1_8_so_refills_media_mixin_works end
finish_template()
click to toggle source
Calls superclass method
# File lib/suspenders/generators/app_generator.rb, line 32 def finish_template invoke :suspenders_customization super end
generate_data_migrations()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 91 def generate_data_migrations build :generate_data_migrations end
generate_default()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 225 def generate_default run("spring stop") generate("suspenders:static") generate("suspenders:stylesheet_base") end
generate_refills()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 103 def generate_refills build :generate_refills end
generate_ruby_version_and_gemset()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 87 def generate_ruby_version_and_gemset build :generate_ruby_version_and_gemset end
generate_test_environment()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 123 def generate_test_environment build :generate_test_environment end
init_git()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 203 def init_git build :init_git end
install_devise()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 75 def install_devise build :install_devise end
outro()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 231 def outro say 'Congratulations! You just pulled our suspenders.' say honeybadger_outro end
overwrite_application_layout()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 119 def overwrite_application_layout build :overwrite_application_layout end
rake_db_setup()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 159 def rake_db_setup build :rake_db_setup end
remove_config_comment_lines()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 217 def remove_config_comment_lines build :remove_config_comment_lines end
remove_routes_comment_lines()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 221 def remove_routes_comment_lines build :remove_routes_comment_lines end
require_files_in_lib()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 83 def require_files_in_lib build :require_files_in_lib end
run_rubocop_auto_correct()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 171 def run_rubocop_auto_correct build :run_rubocop_auto_correct end
setup_bundler_audit()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 193 def setup_bundler_audit say "Setting up bundler-audit" build :setup_bundler_audit end
setup_database()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 69 def setup_database say 'Setting up database' if 'postgresql' == options[:database] build :use_postgres_config_template end build :create_database end
setup_default_directories()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 189 def setup_default_directories build :setup_default_directories end
setup_development_environment()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 79 def setup_development_environment say 'Setting up the development environment' build :raise_on_missing_assets_in_test build :raise_on_delivery_errors build :remove_turbolinks build :set_test_delivery_method build :add_bullet_gem_configuration build :raise_on_unpermitted_parameters build :provide_setup_script build :provide_dev_prime_task build :configure_generators build :configure_i18n_for_missing_translations build :configure_quiet_assets end
setup_dotfiles()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 185 def setup_dotfiles build :copy_dotfiles end
setup_git()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 145 def setup_git if !options[:skip_git] say "Initializing git" invoke :setup_default_directories invoke :init_git end end
setup_production_environment()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 111 def setup_production_environment say 'Setting up the production environment' build :configure_smtp build :configure_rack_timeout build :enable_rack_canonical_host build :enable_rack_deflater build :setup_asset_host end
setup_secret_token()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 120 def setup_secret_token say 'Moving secret token out of version control' build :setup_secret_token end
setup_segment()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 180 def setup_segment say 'Setting up Segment' build :setup_segment end
setup_spring()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 198 def setup_spring say "Springifying binstubs" build :setup_spring end
setup_test_environment()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 94 def setup_test_environment say 'Setting up the test environment' build :set_up_factory_girl_for_rspec build :generate_factories_file build :set_up_hound build :generate_rspec build :configure_rspec build :configure_background_jobs_for_rspec build :enable_database_cleaner build :provide_shoulda_matchers_config build :configure_spec_support_features build :configure_ci build :configure_i18n_for_test_environment build :configure_action_mailer_in_specs build :configure_capybara_webkit end
spin_up_webpacker()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 151 def spin_up_webpacker build :spin_up_webpacker end
suspenders_customization()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 37 def suspenders_customization invoke :customize_gemfile invoke :setup_development_environment invoke :setup_test_environment invoke :setup_production_environment invoke :setup_secret_token invoke :create_suspenders_views invoke :configure_app invoke :copy_miscellaneous_files invoke :customize_error_pages invoke :remove_config_comment_lines invoke :remove_routes_comment_lines invoke :setup_dotfiles invoke :setup_git invoke :setup_database invoke :create_local_heroku_setup invoke :create_heroku_apps invoke :create_github_repo invoke :setup_segment invoke :setup_bundler_audit invoke :setup_spring invoke :generate_default invoke :outro end
update_application_css_file()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 115 def update_application_css_file build :update_application_css_file end
update_flashes_css_file()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 111 def update_flashes_css_file build :update_flashes_css_file end
update_gemset_in_gemfile()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 63 def update_gemset_in_gemfile build :update_gemset_in_gemfile end
update_test_environment()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 127 def update_test_environment build :update_test_environment end
use_slim()
click to toggle source
# File lib/voyage/generators/app_generator.rb, line 71 def use_slim build :use_slim end
Protected Instance Methods
get_builder_class()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 242 def get_builder_class Suspenders::AppBuilder end
using_active_record?()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 246 def using_active_record? !options[:skip_active_record] end
Private Instance Methods
honeybadger_message_suffix()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 256 def honeybadger_message_suffix if options[:heroku] " unless you're using the Heroku Honeybadger add-on" end end
honeybadger_outro()
click to toggle source
# File lib/suspenders/generators/app_generator.rb, line 252 def honeybadger_outro "Run 'bundle exec honeybadger heroku install' with your API key#{honeybadger_message_suffix}." end