Class: Underlay::AppGenerator
- Inherits:
-
Rails::Generators::AppGenerator
- Object
- Rails::Generators::AppGenerator
- Underlay::AppGenerator
- Defined in:
- lib/underlay/generators/app_generator.rb
Class Method Summary collapse
Instance Method Summary collapse
- #clean_up ⇒ Object
- #configure_app ⇒ Object
- #copy_miscellaneous_files ⇒ Object
- #create_github_repo ⇒ Object
- #create_heroku_apps ⇒ Object
- #create_local_heroku_setup ⇒ Object
- #create_underlay_views ⇒ Object
- #customize_error_pages ⇒ Object
- #customize_gemfile ⇒ Object
- #finish_template ⇒ Object
- #generate_default ⇒ Object
- #outro ⇒ Object
- #remove_config_comment_lines ⇒ Object
- #remove_routes_comment_lines ⇒ Object
- #setup_bundler_audit ⇒ Object
- #setup_database ⇒ Object
- #setup_default_directories ⇒ Object
- #setup_development_environment ⇒ Object
- #setup_figaro ⇒ Object
- #setup_google_tag_manager ⇒ Object
- #setup_production_environment ⇒ Object
- #setup_secret_token ⇒ Object
- #setup_spring ⇒ Object
- #setup_test_environment ⇒ Object
- #underlay_customization ⇒ Object
Class Method Details
.banner ⇒ Object
252 253 254 |
# File 'lib/underlay/generators/app_generator.rb', line 252 def self. "underlay #{arguments.map(&:usage).join(' ')} [options]" end |
Instance Method Details
#clean_up ⇒ Object
210 211 212 213 214 215 |
# File 'lib/underlay/generators/app_generator.rb', line 210 def clean_up say 'Code cleaning' build :rubocop_autocorrect build :manual_code_correct build_for_api :non_api_files_removal end |
#configure_app ⇒ Object
154 155 156 157 158 159 160 161 162 163 |
# File 'lib/underlay/generators/app_generator.rb', line 154 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 |
#copy_miscellaneous_files ⇒ Object
222 223 224 225 |
# File 'lib/underlay/generators/app_generator.rb', line 222 def copy_miscellaneous_files say 'Copying miscellaneous support files' build :copy_miscellaneous_files end |
#create_github_repo ⇒ Object
185 186 187 188 189 190 |
# File 'lib/underlay/generators/app_generator.rb', line 185 def create_github_repo if ![:skip_git] && [:github] say 'Creating Github repo' build :create_github_repo, [:github] end end |
#create_heroku_apps ⇒ Object
172 173 174 175 176 177 178 179 180 181 182 183 |
# File 'lib/underlay/generators/app_generator.rb', line 172 def create_heroku_apps if [:heroku] say 'Creating Heroku apps' build :create_heroku_apps, [: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 ⇒ Object
165 166 167 168 169 170 |
# File 'lib/underlay/generators/app_generator.rb', line 165 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_underlay_views ⇒ Object
145 146 147 148 149 150 151 152 |
# File 'lib/underlay/generators/app_generator.rb', line 145 def create_underlay_views say 'Creating underlay views' build :create_partials_directory build_for_non_api :create_shared_flashes build_for_non_api :create_shared_javascripts build_for_non_api :create_shared_css_overrides build_for_non_api :create_application_layout end |
#customize_error_pages ⇒ Object
227 228 229 230 |
# File 'lib/underlay/generators/app_generator.rb', line 227 def customize_error_pages say 'Customizing the 500/404/422 pages' unless [:api] build_for_non_api :customize_error_pages end |
#customize_gemfile ⇒ Object
81 82 83 84 85 86 |
# File 'lib/underlay/generators/app_generator.rb', line 81 def customize_gemfile build :replace_gemfile, [:path] build :set_ruby_to_version_being_used bundle_command 'install' build_for_non_api :configure_simple_form end |
#finish_template ⇒ Object
50 51 52 53 |
# File 'lib/underlay/generators/app_generator.rb', line 50 def finish_template invoke :underlay_customization super end |
#generate_default ⇒ Object
240 241 242 243 244 245 246 |
# File 'lib/underlay/generators/app_generator.rb', line 240 def generate_default run('spring stop') generate('underlay:initialize_active_job') generate('underlay:enforce_ssl') generate('underlay:static') generate('underlay:stylesheet_base') end |
#outro ⇒ Object
248 249 250 |
# File 'lib/underlay/generators/app_generator.rb', line 248 def outro say 'You just laid the underlay. Time to add some value!' end |
#remove_config_comment_lines ⇒ Object
232 233 234 |
# File 'lib/underlay/generators/app_generator.rb', line 232 def remove_config_comment_lines build :remove_config_comment_lines end |
#remove_routes_comment_lines ⇒ Object
236 237 238 |
# File 'lib/underlay/generators/app_generator.rb', line 236 def remove_routes_comment_lines build :remove_routes_comment_lines end |
#setup_bundler_audit ⇒ Object
205 206 207 208 |
# File 'lib/underlay/generators/app_generator.rb', line 205 def setup_bundler_audit say 'Setting up bundler-audit' build :setup_bundler_audit end |
#setup_database ⇒ Object
88 89 90 91 92 93 94 95 96 |
# File 'lib/underlay/generators/app_generator.rb', line 88 def setup_database say 'Setting up database' if [:database] == 'postgresql' build :use_postgres_config_template end build :create_database end |
#setup_default_directories ⇒ Object
201 202 203 |
# File 'lib/underlay/generators/app_generator.rb', line 201 def setup_default_directories build :setup_default_directories end |
#setup_development_environment ⇒ Object
98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
# File 'lib/underlay/generators/app_generator.rb', line 98 def setup_development_environment say 'Setting up the development environment' build_for_non_api :raise_on_missing_assets_in_test build :raise_on_delivery_errors build :set_test_delivery_method build :add_bullet_gem_configuration build :raise_on_unpermitted_parameters build :provide_setup_script build :provide_rake_script build :provide_update_script build :provide_dev_prime_task build :configure_generators build :configure_i18n_for_missing_translations build_for_non_api :configure_quiet_assets end |
#setup_figaro ⇒ Object
197 198 199 |
# File 'lib/underlay/generators/app_generator.rb', line 197 def setup_figaro build :copy_figaro_files end |
#setup_google_tag_manager ⇒ Object
192 193 194 195 |
# File 'lib/underlay/generators/app_generator.rb', line 192 def setup_google_tag_manager say 'Setting up Google Tage Manager' unless [:api] build_for_non_api :setup_google_tag_manager end |
#setup_production_environment ⇒ Object
131 132 133 134 135 136 137 138 |
# File 'lib/underlay/generators/app_generator.rb', line 131 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_for_non_api :setup_asset_host end |
#setup_secret_token ⇒ Object
140 141 142 143 |
# File 'lib/underlay/generators/app_generator.rb', line 140 def setup_secret_token say 'Moving secret token out of version control' build :setup_secret_token end |
#setup_spring ⇒ Object
217 218 219 220 |
# File 'lib/underlay/generators/app_generator.rb', line 217 def setup_spring say 'Springifying binstubs' build :setup_spring end |
#setup_test_environment ⇒ Object
114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
# File 'lib/underlay/generators/app_generator.rb', line 114 def setup_test_environment say 'Setting up the test environment' build :set_up_factory_bot_for_rspec build :generate_factories_file build :generate_rspec build :configure_rspec build :enable_database_cleaner build :provide_shoulda_matchers_config build :configure_spec_support_features build :configure_ci build :configure_rubocop build_for_non_api :configure_linters build :configure_i18n_for_test_environment build :configure_action_mailer_in_specs build_for_non_api :configure_capybara end |
#underlay_customization ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/underlay/generators/app_generator.rb', line 55 def underlay_customization invoke :customize_gemfile invoke :setup_development_environment invoke :setup_test_environment invoke :setup_production_environment invoke :setup_secret_token invoke :create_underlay_views invoke :configure_app invoke :copy_miscellaneous_files invoke :customize_error_pages invoke :remove_config_comment_lines invoke :remove_routes_comment_lines invoke :setup_figaro invoke :setup_database invoke :create_local_heroku_setup invoke :create_heroku_apps invoke :create_github_repo invoke :setup_google_tag_manager invoke :setup_bundler_audit invoke :setup_spring invoke :generate_default invoke :setup_default_directories invoke :clean_up invoke :outro end |