Class: Bulldozer::AppGenerator
- Inherits:
-
Rails::Generators::AppGenerator
- Object
- Rails::Generators::AppGenerator
- Bulldozer::AppGenerator
- Defined in:
- lib/bulldozer/generators/app_generator.rb
Class Method Summary collapse
Instance Method Summary collapse
- #bulldozer_customization ⇒ Object
- #configure_app ⇒ Object
- #copy_miscellaneous_files ⇒ Object
- #create_github_repo ⇒ Object
- #create_heroku_apps ⇒ Object
- #customize_error_pages ⇒ Object
- #customize_gemfile ⇒ Object
- #finish_template ⇒ Object
- #generate_default ⇒ Object
- #generate_deployment_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_docker ⇒ Object
- #setup_dotfiles ⇒ Object
- #setup_production_environment ⇒ Object
- #setup_secret_token ⇒ Object
- #setup_spring ⇒ Object
Class Method Details
.banner ⇒ Object
210 211 212 |
# File 'lib/bulldozer/generators/app_generator.rb', line 210 def self. "bulldozer #{arguments.map(&:usage).join(' ')} [options]" end |
Instance Method Details
#bulldozer_customization ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/bulldozer/generators/app_generator.rb', line 43 def bulldozer_customization invoke :customize_gemfile invoke :setup_development_environment invoke :setup_production_environment invoke :setup_secret_token invoke :configure_app invoke :copy_miscellaneous_files invoke :customize_error_pages invoke :setup_dotfiles invoke :setup_docker invoke :setup_database invoke :create_github_repo invoke :setup_bundler_audit invoke :setup_spring invoke :generate_default invoke :setup_default_directories invoke :create_heroku_apps invoke :generate_deployment_default invoke :remove_config_comment_lines invoke :remove_routes_comment_lines invoke :outro end |
#configure_app ⇒ Object
106 107 108 109 110 111 112 113 114 |
# File 'lib/bulldozer/generators/app_generator.rb', line 106 def configure_app say 'Configuring app' build :configure_action_mailer 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
159 160 161 162 |
# File 'lib/bulldozer/generators/app_generator.rb', line 159 def copy_miscellaneous_files say 'Copying miscellaneous support files' build :copy_miscellaneous_files end |
#create_github_repo ⇒ Object
130 131 132 133 134 135 |
# File 'lib/bulldozer/generators/app_generator.rb', line 130 def create_github_repo if ![:skip_git] && [:github] say 'Creating Github repo' build :create_github_repo, [:github] end end |
#create_heroku_apps ⇒ Object
116 117 118 119 120 121 122 123 124 125 126 127 128 |
# File 'lib/bulldozer/generators/app_generator.rb', line 116 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_honeybadger_env build :set_heroku_backup_schedule build :create_heroku_pipeline build :configure_automatic_deployment end end |
#customize_error_pages ⇒ Object
164 165 166 167 |
# File 'lib/bulldozer/generators/app_generator.rb', line 164 def customize_error_pages say 'Customizing the 500/404/422 pages' build :customize_error_pages end |
#customize_gemfile ⇒ Object
66 67 68 69 |
# File 'lib/bulldozer/generators/app_generator.rb', line 66 def customize_gemfile build :replace_gemfile, [:path] bundle_command 'install' end |
#finish_template ⇒ Object
38 39 40 41 |
# File 'lib/bulldozer/generators/app_generator.rb', line 38 def finish_template invoke :bulldozer_customization super end |
#generate_default ⇒ Object
177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 |
# File 'lib/bulldozer/generators/app_generator.rb', line 177 def generate_default run("spring stop") generate("bulldozer:json") generate("bulldozer:static") generate("bulldozer:stylesheet_base") generate("bulldozer:testing") generate("bulldozer:ci") generate("bulldozer:js_driver") unless [:api] generate("bulldozer:forms") end generate("bulldozer:db_optimizations") generate("bulldozer:factories") generate("bulldozer:lint") generate("bulldozer:jobs") generate("bulldozer:analytics") generate("bulldozer:views") end |
#generate_deployment_default ⇒ Object
196 197 198 199 200 201 202 203 |
# File 'lib/bulldozer/generators/app_generator.rb', line 196 def generate_deployment_default generate("bulldozer:staging:pull_requests") generate("bulldozer:production:force_tls") generate("bulldozer:production:email") generate("bulldozer:production:timeout") generate("bulldozer:production:deployment") generate("bulldozer:production:manifest") end |
#outro ⇒ Object
205 206 207 208 |
# File 'lib/bulldozer/generators/app_generator.rb', line 205 def outro say 'Congratulations! You just pulled our bulldozer.' say honeybadger_outro end |
#remove_config_comment_lines ⇒ Object
169 170 171 |
# File 'lib/bulldozer/generators/app_generator.rb', line 169 def remove_config_comment_lines build :remove_config_comment_lines end |
#remove_routes_comment_lines ⇒ Object
173 174 175 |
# File 'lib/bulldozer/generators/app_generator.rb', line 173 def remove_routes_comment_lines build :remove_routes_comment_lines end |
#setup_bundler_audit ⇒ Object
149 150 151 152 |
# File 'lib/bulldozer/generators/app_generator.rb', line 149 def setup_bundler_audit say "Setting up bundler-audit" build :setup_bundler_audit end |
#setup_database ⇒ Object
71 72 73 74 75 76 77 78 79 |
# File 'lib/bulldozer/generators/app_generator.rb', line 71 def setup_database say 'Setting up database' if 'postgresql' == [:database] build :use_postgres_config_template end build :create_database end |
#setup_default_directories ⇒ Object
145 146 147 |
# File 'lib/bulldozer/generators/app_generator.rb', line 145 def setup_default_directories build :setup_default_directories end |
#setup_development_environment ⇒ Object
81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/bulldozer/generators/app_generator.rb', line 81 def setup_development_environment say 'Setting up the development environment' build :configure_local_mail build :raise_on_missing_assets_in_test build :raise_on_delivery_errors build :set_test_delivery_method build :raise_on_unpermitted_parameters build :provide_setup_script build :configure_generators build :configure_i18n_for_missing_translations build :configure_quiet_assets end |
#setup_docker ⇒ Object
141 142 143 |
# File 'lib/bulldozer/generators/app_generator.rb', line 141 def setup_docker build :copy_dockerfiles end |
#setup_dotfiles ⇒ Object
137 138 139 |
# File 'lib/bulldozer/generators/app_generator.rb', line 137 def setup_dotfiles build :copy_dotfiles end |
#setup_production_environment ⇒ Object
94 95 96 97 98 99 |
# File 'lib/bulldozer/generators/app_generator.rb', line 94 def setup_production_environment say 'Setting up the production environment' build :enable_rack_canonical_host build :enable_rack_deflater build :setup_asset_host end |
#setup_secret_token ⇒ Object
101 102 103 104 |
# File 'lib/bulldozer/generators/app_generator.rb', line 101 def setup_secret_token say 'Moving secret token out of version control' build :setup_secret_token end |
#setup_spring ⇒ Object
154 155 156 157 |
# File 'lib/bulldozer/generators/app_generator.rb', line 154 def setup_spring say "Springifying binstubs" build :setup_spring end |