Class: OceanSetupGenerator
- Inherits:
-
Rails::Generators::NamedBase
- Object
- Rails::Generators::NamedBase
- OceanSetupGenerator
- Defined in:
- lib/generators/ocean_setup/ocean_setup_generator.rb
Overview
:nodoc: all
Instance Method Summary collapse
- #install_application_controller ⇒ Object
- #install_aws_yml_files ⇒ Object
- #install_config_yml_files ⇒ Object
- #install_default_cache_time_file ⇒ Object
- #install_error_handling_and_specs ⇒ Object
- #install_generator_defaults ⇒ Object
- #install_puma_config_file ⇒ Object
- #install_routes_file ⇒ Object
- #install_spec_helper_and_support_files ⇒ Object
- #remove_application_helper ⇒ Object
- #remove_unwanted_stuff ⇒ Object
- #replace_gemfile ⇒ Object
- #setup_console_logging ⇒ Object
- #setup_docker ⇒ Object
- #setup_dotenv_file ⇒ Object
- #setup_git ⇒ Object
- #turn_off_asset_pipeline ⇒ Object
- #turn_off_locales ⇒ Object
- #turn_off_sessions_and_cookies ⇒ Object
Instance Method Details
#install_application_controller ⇒ Object
18 19 20 |
# File 'lib/generators/ocean_setup/ocean_setup_generator.rb', line 18 def install_application_controller copy_file "application_controller.rb", "#{Rails.root}/app/controllers/application_controller.rb" end |
#install_aws_yml_files ⇒ Object
91 92 93 |
# File 'lib/generators/ocean_setup/ocean_setup_generator.rb', line 91 def install_aws_yml_files copy_file "aws.yml", "#{Rails.root}/config/aws.yml" end |
#install_config_yml_files ⇒ Object
87 88 89 |
# File 'lib/generators/ocean_setup/ocean_setup_generator.rb', line 87 def install_config_yml_files copy_file "config.yml", "#{Rails.root}/config/config.yml" end |
#install_default_cache_time_file ⇒ Object
99 100 101 |
# File 'lib/generators/ocean_setup/ocean_setup_generator.rb', line 99 def install_default_cache_time_file copy_file "default_cache_time.rb", "#{Rails.root}/config/initializers/default_cache_time.rb" end |
#install_error_handling_and_specs ⇒ Object
47 48 49 50 51 52 53 54 |
# File 'lib/generators/ocean_setup/ocean_setup_generator.rb', line 47 def install_error_handling_and_specs application "# Raise exceptions instead of rendering exception templates. config.action_dispatch.show_exceptions = false # Handle our own exceptions internally, so we can return JSON error bodies config.exceptions_app = ->(env) { ErrorsController.action(:show).call(env) } " end |
#install_generator_defaults ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/generators/ocean_setup/ocean_setup_generator.rb', line 65 def install_generator_defaults application "# Defaults for generators config.generators do |g| g.assets false g.stylesheets false g.helper false g.test_framework :rspec, :fixture => true g.fixture_replacement :factory_bot end " end |
#install_puma_config_file ⇒ Object
95 96 97 |
# File 'lib/generators/ocean_setup/ocean_setup_generator.rb', line 95 def install_puma_config_file copy_file "puma.rb", "#{Rails.root}/config/puma.rb" end |
#install_routes_file ⇒ Object
31 32 33 |
# File 'lib/generators/ocean_setup/ocean_setup_generator.rb', line 31 def install_routes_file template "routes.rb", "#{Rails.root}/config/routes.rb" end |
#install_spec_helper_and_support_files ⇒ Object
26 27 28 29 |
# File 'lib/generators/ocean_setup/ocean_setup_generator.rb', line 26 def install_spec_helper_and_support_files copy_file "spec_helper.rb", "#{Rails.root}/spec/spec_helper.rb" copy_file "hyperlinks.rb", "#{Rails.root}/spec/support/hyperlinks.rb" end |
#remove_application_helper ⇒ Object
22 23 24 |
# File 'lib/generators/ocean_setup/ocean_setup_generator.rb', line 22 def remove_application_helper remove_file "#{Rails.root}/app/helpers/application_helper.rb" end |
#remove_unwanted_stuff ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/generators/ocean_setup/ocean_setup_generator.rb', line 5 def remove_unwanted_stuff remove_file "#{Rails.root}/app/assets" remove_file "#{Rails.root}/lib/assets" remove_file "#{Rails.root}/app/views/layouts" remove_file "#{Rails.root}/config/locales" remove_file "#{Rails.root}/public" remove_file "#{Rails.root}/config/initializers/session_store.rb" remove_file "#{Rails.root}/test" remove_file "#{Rails.root}/vendor/assets" remove_file "#{Rails.root}/vendor/plugins" remove_file "#{Rails.root}/tmp/cache/assets" end |
#replace_gemfile ⇒ Object
103 104 105 106 |
# File 'lib/generators/ocean_setup/ocean_setup_generator.rb', line 103 def replace_gemfile remove_file "#{Rails.root}/Gemfile" copy_file "Gemfile", "#{Rails.root}/Gemfile" end |
#setup_console_logging ⇒ Object
77 78 79 80 81 82 83 84 85 |
# File 'lib/generators/ocean_setup/ocean_setup_generator.rb', line 77 def setup_console_logging application "# We want to set up a custom logger which logs to STDOUT. # Docker expects your application to log to STDOUT/STDERR and to be run # in the foreground. config.log_level = ENV.fetch('LOG_LEVEL', :debug) config.log_tags = [:uuid] config.logger = ActiveSupport::TaggedLogging.new(Logger.new(STDOUT)) " end |
#setup_docker ⇒ Object
113 114 115 116 |
# File 'lib/generators/ocean_setup/ocean_setup_generator.rb', line 113 def setup_docker template "Dockerfile", "#{Rails.root}/Dockerfile" copy_file "dockerignore", "#{Rails.root}/.dockerignore" end |
#setup_dotenv_file ⇒ Object
118 119 120 |
# File 'lib/generators/ocean_setup/ocean_setup_generator.rb', line 118 def setup_dotenv_file template "env", "#{Rails.root}.env" end |
#setup_git ⇒ Object
108 109 110 111 |
# File 'lib/generators/ocean_setup/ocean_setup_generator.rb', line 108 def setup_git copy_file "gitignore", "#{Rails.root}/.gitignore" git :init end |
#turn_off_asset_pipeline ⇒ Object
41 42 43 44 45 |
# File 'lib/generators/ocean_setup/ocean_setup_generator.rb', line 41 def turn_off_asset_pipeline application "# Disable the asset pipeline config.assets.enabled = false " end |
#turn_off_locales ⇒ Object
35 36 37 38 39 |
# File 'lib/generators/ocean_setup/ocean_setup_generator.rb', line 35 def turn_off_locales application "# No locales config.i18n.enforce_available_locales = false " end |
#turn_off_sessions_and_cookies ⇒ Object
56 57 58 59 60 61 62 63 |
# File 'lib/generators/ocean_setup/ocean_setup_generator.rb', line 56 def application "# Turn off sessions, cookies and the message flash config.session_store :disabled config.middleware.delete ActionDispatch::Cookies config.middleware.delete ActionDispatch::Session::CookieStore config.middleware.delete ActionDispatch::Flash " end |