Class: Bs5::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Bs5::InstallGenerator
- Defined in:
- lib/generators/bs5/install/install_generator.rb
Instance Method Summary collapse
-
#add_bootstrap ⇒ Object
rubocop:disable Metrics/MethodLength.
Instance Method Details
#add_bootstrap ⇒ Object
rubocop:disable Metrics/MethodLength
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/generators/bs5/install/install_generator.rb', line 7 def add_bootstrap # rubocop:disable Metrics/MethodLength run 'yarn add bootstrap@next @popperjs/core' create_file 'app/javascript/packs/styles.scss', " @import \"~bootstrap/scss/bootstrap\";\n HEREDOC\n\n copy_file 'bs5.js', 'app/javascript/bs5.js'\n\n append_file 'app/javascript/packs/application.js', <<~HEREDOC\n import * as bs5 from \"bs5\";\n\n document.addEventListener(\"turbolinks:load\", function () {\n bs5.start();\n });\n HEREDOC\n\n inject_into_file 'app/views/layouts/application.html.erb', before: '</head>' do\n <<~HEREDOC\n <%= stylesheet_pack_tag 'styles', media: 'all', 'data-turbolinks-track': 'reload' %>\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n HEREDOC\n end\n\n inject_into_file 'app/controllers/application_controller.rb', after: \"ActionController::Base\\n\" do\n <<~HEREDOC\n helper Bs5::Engine.helpers\n HEREDOC\n end\n\n inject_into_file 'config/routes.rb', after: \"Rails.application.routes.draw do\\n\" do\n <<~HEREDOC\n mount Bs5::Engine => '/bs5'\n HEREDOC\n end\n\n gsub_file 'config/webpacker.yml', 'extract_css: false', 'extract_css: true'\nend\n" |