Class: SwalRails::Generators::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- SwalRails::Generators::InstallGenerator
- Defined in:
- lib/generators/swal_rails/install/install_generator.rb
Constant Summary collapse
- ASSETS_MODES =
%w[importmap jsbundling sprockets auto].freeze
Instance Method Summary collapse
- #configure_assets ⇒ Object
- #copy_initializer ⇒ Object
- #inject_meta_tags ⇒ Object
- #show_readme ⇒ Object
- #validate_options! ⇒ Object
Instance Method Details
#configure_assets ⇒ Object
30 31 32 33 34 35 36 |
# File 'lib/generators/swal_rails/install/install_generator.rb', line 30 def configure_assets case resolved_assets_mode when "importmap" then install_importmap when "jsbundling" then install_jsbundling when "sprockets" then install_sprockets end end |
#copy_initializer ⇒ Object
26 27 28 |
# File 'lib/generators/swal_rails/install/install_generator.rb', line 26 def copy_initializer template "initializer.rb", "config/initializers/swal_rails.rb" end |
#inject_meta_tags ⇒ Object
38 39 40 41 42 43 44 45 46 47 |
# File 'lib/generators/swal_rails/install/install_generator.rb', line 38 def return if [:skip_layout] layout = "app/views/layouts/application.html.erb" return say_status(:skip, "#{layout} not found", :yellow) unless file_exists?(layout) inject_into_file layout, before: %r{</head>} do " <%= swal_rails_meta_tags %>\n " end end |
#show_readme ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/generators/swal_rails/install/install_generator.rb', line 49 def show_readme readme_text = <<~TXT swal_rails installed. Next steps: 1. Edit config/initializers/swal_rails.rb to customize flash_map / confirm_mode. 2. Ensure <%= swal_rails_meta_tags %> is rendered in your <head>. 3. Import the runtime in your JS entrypoint: import "swal_rails" Confirm mode: #{[:confirm_mode]} Assets mode: #{resolved_assets_mode} TXT say readme_text, :green end |
#validate_options! ⇒ Object
19 20 21 22 23 24 |
# File 'lib/generators/swal_rails/install/install_generator.rb', line 19 def mode = ([:mode] || "auto").to_s return if ASSETS_MODES.include?(mode) raise Thor::Error, "--mode must be one of #{ASSETS_MODES.join(", ")}" end |