Class: RailsModalManager::Generators::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- RailsModalManager::Generators::InstallGenerator
- Defined in:
- lib/generators/rails_modal_manager/install_generator.rb
Instance Method Summary collapse
- #add_importmap_pins ⇒ Object
- #add_javascript ⇒ Object
- #add_stylesheet ⇒ Object
- #add_taskbar_partial ⇒ Object
- #show_post_install ⇒ Object
Instance Method Details
#add_importmap_pins ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/generators/rails_modal_manager/install_generator.rb', line 12 def add_importmap_pins return unless importmap? say "Adding importmap pins..." append_to_file "config/importmap.rb" do <<~RUBY # Rails Modal Manager pin "rails_modal_manager", to: "rails_modal_manager/index.js" pin "rails_modal_manager/modal_store", to: "rails_modal_manager/modal_store.js" pin "rails_modal_manager/history_stack_manager", to: "rails_modal_manager/history_stack_manager.js" pin "rails_modal_manager/controllers/rmm_modal_controller", to: "rails_modal_manager/controllers/rmm_modal_controller.js" pin "rails_modal_manager/controllers/rmm_overlay_controller", to: "rails_modal_manager/controllers/rmm_overlay_controller.js" pin "rails_modal_manager/controllers/rmm_header_controller", to: "rails_modal_manager/controllers/rmm_header_controller.js" pin "rails_modal_manager/controllers/rmm_sidebar_controller", to: "rails_modal_manager/controllers/rmm_sidebar_controller.js" pin "rails_modal_manager/controllers/rmm_submenu_controller", to: "rails_modal_manager/controllers/rmm_submenu_controller.js" pin "rails_modal_manager/controllers/rmm_taskbar_controller", to: "rails_modal_manager/controllers/rmm_taskbar_controller.js" pin "rails_modal_manager/controllers/rmm_resize_handle_controller", to: "rails_modal_manager/controllers/rmm_resize_handle_controller.js" RUBY end end |
#add_javascript ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/generators/rails_modal_manager/install_generator.rb', line 35 def add_javascript say "Adding JavaScript initialization..." append_to_file "app/javascript/application.js" do <<~JS // Rails Modal Manager import { registerRMMControllers, initHistoryStack } from "rails_modal_manager" registerRMMControllers(window.Stimulus) initHistoryStack() JS end end |
#add_stylesheet ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/generators/rails_modal_manager/install_generator.rb', line 49 def add_stylesheet say "Adding stylesheet import..." if File.exist?("app/assets/stylesheets/application.css") inject_into_file "app/assets/stylesheets/application.css", before: " */" do " *= require rails_modal_manager\n" end elsif File.exist?("app/assets/stylesheets/application.scss") append_to_file "app/assets/stylesheets/application.scss" do "\n@import \"rails_modal_manager\";\n" end end end |
#add_taskbar_partial ⇒ Object
63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/generators/rails_modal_manager/install_generator.rb', line 63 def say "Creating taskbar partial..." create_file "app/views/layouts/_rmm_taskbar.html.erb", <<~ERB <%# Rails Modal Manager Taskbar %> <div class="rmm-taskbar" data-controller="rmm-taskbar" data-rmm-taskbar-target="container"> <div class="rmm-taskbar-items" data-rmm-taskbar-target="items"></div> </div> ERB end |
#show_post_install ⇒ Object
76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/generators/rails_modal_manager/install_generator.rb', line 76 def show_post_install say "" say "Rails Modal Manager installed successfully!", :green say "" say "Next steps:" say " 1. Add taskbar to your layout:" say " <%= render 'layouts/rmm_taskbar' %>" say "" say " 2. Read the documentation:" say " https://github.com/ordars/rails-modal-manager" say "" end |