Class: Suspenders::AppGenerator
- Inherits:
-
Rails::Generators::AppGenerator
- Object
- Rails::Generators::AppGenerator
- Suspenders::AppGenerator
- Defined in:
- lib/suspenders/generators/app_generator.rb
Class Method Summary collapse
Instance Method Summary collapse
- #configure_app ⇒ Object
- #copy_miscellaneous_files ⇒ Object
- #create_binstubs ⇒ Object
- #create_github_repo ⇒ Object
- #create_heroku_apps ⇒ Object
- #create_local_heroku_setup ⇒ Object
- #create_suspenders_views ⇒ Object
- #customize_error_pages ⇒ Object
- #customize_gemfile ⇒ Object
- #finish_template ⇒ Object
- #generate_default ⇒ Object
- #init_git ⇒ Object
- #outro ⇒ Object
- #remove_config_comment_lines ⇒ Object
- #remove_routes_comment_lines ⇒ Object
- #setup_database ⇒ Object
- #setup_default_directories ⇒ Object
- #setup_development_environment ⇒ Object
- #setup_dotfiles ⇒ Object
- #setup_git ⇒ Object
- #setup_production_environment ⇒ Object
- #setup_secret_token ⇒ Object
- #setup_spring ⇒ Object
- #setup_stylesheets ⇒ Object
- #setup_test_environment ⇒ Object
- #suspenders_customization ⇒ Object
Class Method Details
.banner ⇒ Object
250 251 252 |
# File 'lib/suspenders/generators/app_generator.rb', line 250 def self. "suspenders #{arguments.map(&:usage).join(' ')} [options]" end |
Instance Method Details
#configure_app ⇒ Object
143 144 145 146 147 148 149 150 151 152 153 154 |
# File 'lib/suspenders/generators/app_generator.rb', line 143 def configure_app say 'Configuring app' build :configure_action_mailer build :configure_locales build :configure_active_job build :configure_slim build :configure_time_formats build :setup_default_rake_task build :configure_puma build :set_up_forego build :setup_rack_mini_profiler end |
#copy_miscellaneous_files ⇒ Object
218 219 220 221 |
# File 'lib/suspenders/generators/app_generator.rb', line 218 def copy_miscellaneous_files say 'Copying miscellaneous support files' build :copy_miscellaneous_files end |
#create_binstubs ⇒ Object
209 210 211 212 |
# File 'lib/suspenders/generators/app_generator.rb', line 209 def create_binstubs say "Create binstubs" build :create_binstubs end |
#create_github_repo ⇒ Object
189 190 191 192 193 194 |
# File 'lib/suspenders/generators/app_generator.rb', line 189 def create_github_repo if ![:skip_git] && [:github] say 'Creating Github repo' build :create_github_repo, [:github] end end |
#create_heroku_apps ⇒ Object
176 177 178 179 180 181 182 183 184 185 186 187 |
# File 'lib/suspenders/generators/app_generator.rb', line 176 def create_heroku_apps if [:heroku] say "Creating Heroku apps" build :create_heroku_apps, [:heroku_flags] build :set_heroku_serve_static_files build :set_heroku_remotes build :set_heroku_rails_secrets build :set_heroku_application_host build :create_heroku_pipeline build :configure_automatic_deployment end end |
#create_local_heroku_setup ⇒ Object
169 170 171 172 173 174 |
# File 'lib/suspenders/generators/app_generator.rb', line 169 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 ⇒ Object
134 135 136 137 138 139 140 141 |
# File 'lib/suspenders/generators/app_generator.rb', line 134 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_error_pages ⇒ Object
223 224 225 226 |
# File 'lib/suspenders/generators/app_generator.rb', line 223 def customize_error_pages say 'Customizing the 500/404/422 pages' build :customize_error_pages end |
#customize_gemfile ⇒ Object
68 69 70 71 72 73 74 |
# File 'lib/suspenders/generators/app_generator.rb', line 68 def customize_gemfile build :create_ruby_gemset_file build :replace_gemfile, [:path] build :set_ruby_to_version_being_used bundle_command 'install' build :configure_simple_form end |
#finish_template ⇒ Object
38 39 40 41 |
# File 'lib/suspenders/generators/app_generator.rb', line 38 def finish_template invoke :suspenders_customization super end |
#generate_default ⇒ Object
236 237 238 239 240 241 242 243 |
# File 'lib/suspenders/generators/app_generator.rb', line 236 def generate_default run("spring stop") generate("suspenders:static") generate("suspenders:stylesheet_base") bundle_command "install" end |
#init_git ⇒ Object
214 215 216 |
# File 'lib/suspenders/generators/app_generator.rb', line 214 def init_git build :init_git end |
#outro ⇒ Object
245 246 247 248 |
# File 'lib/suspenders/generators/app_generator.rb', line 245 def outro say "Congratulations! You just pulled our suspenders." say "Read README.md and configure Errbit." end |
#remove_config_comment_lines ⇒ Object
228 229 230 |
# File 'lib/suspenders/generators/app_generator.rb', line 228 def remove_config_comment_lines build :remove_config_comment_lines end |
#remove_routes_comment_lines ⇒ Object
232 233 234 |
# File 'lib/suspenders/generators/app_generator.rb', line 232 def remove_routes_comment_lines build :remove_routes_comment_lines end |
#setup_database ⇒ Object
76 77 78 79 80 81 82 83 84 |
# File 'lib/suspenders/generators/app_generator.rb', line 76 def setup_database say 'Setting up database' if 'postgresql' == [:database] build :use_postgres_config_template end build :create_database end |
#setup_default_directories ⇒ Object
200 201 202 |
# File 'lib/suspenders/generators/app_generator.rb', line 200 def setup_default_directories build :setup_default_directories end |
#setup_development_environment ⇒ Object
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/suspenders/generators/app_generator.rb', line 86 def setup_development_environment say 'Setting up the development environment' build :raise_on_missing_assets_in_test build :raise_on_delivery_errors build :configure_letter_opener 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 build :setup_rubocop build :setup_brakeman build :setup_bundler_audit end |
#setup_dotfiles ⇒ Object
196 197 198 |
# File 'lib/suspenders/generators/app_generator.rb', line 196 def setup_dotfiles build :copy_dotfiles end |
#setup_git ⇒ Object
161 162 163 164 165 166 167 |
# File 'lib/suspenders/generators/app_generator.rb', line 161 def setup_git if ![:skip_git] say "Initializing git" invoke :setup_default_directories invoke :init_git end end |
#setup_production_environment ⇒ Object
120 121 122 123 124 125 126 127 |
# File 'lib/suspenders/generators/app_generator.rb', line 120 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 ⇒ Object
129 130 131 132 |
# File 'lib/suspenders/generators/app_generator.rb', line 129 def setup_secret_token say 'Moving secret token out of version control' build :setup_secret_token end |
#setup_spring ⇒ Object
204 205 206 207 |
# File 'lib/suspenders/generators/app_generator.rb', line 204 def setup_spring say "Springifying binstubs" build :setup_spring end |
#setup_stylesheets ⇒ Object
156 157 158 159 |
# File 'lib/suspenders/generators/app_generator.rb', line 156 def setup_stylesheets say 'Set up stylesheets' build :setup_stylesheets end |
#setup_test_environment ⇒ Object
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
# File 'lib/suspenders/generators/app_generator.rb', line 103 def setup_test_environment say 'Setting up the test environment' build :set_up_factory_girl_for_rspec build :add_helpers_for_rspec build :generate_factories_file 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_i18n_for_test_environment build :configure_action_mailer_in_specs build :set_up_faker build :configure_capybara_webkit end |
#suspenders_customization ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/suspenders/generators/app_generator.rb', line 43 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 :setup_stylesheets 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_spring invoke :create_binstubs invoke :generate_default invoke :outro end |