Class: RubyUIAdmin::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/ruby_ui_admin/install/install_generator.rb

Instance Method Summary collapse

Instance Method Details

#create_initializerObject



16
17
18
# File 'lib/generators/ruby_ui_admin/install/install_generator.rb', line 16

def create_initializer
  template "initializer.rb.tt", "config/initializers/ruby_ui_admin.rb"
end

#doneObject



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/generators/ruby_ui_admin/install/install_generator.rb', line 24

def done
  say "\nRubyUI Admin: initializer created and engine mounted.", :green
  warn_if_ruby_ui_missing
  say "\nThe admin renders your app's RubyUI components + assets, so finish wiring them:", :yellow
  say "  1. Install RubyUI and generate its components (if you haven't). Run phlex:install"
  say "     FIRST — RubyUI's installer skips it when phlex-rails is present (it is, via this"
  say "     gem) and then aborts on a missing app/components/base.rb:"
  say "       bin/rails generate phlex:install"
  say "       bin/rails generate ruby_ui:install"
  say "     Then generate the components the admin needs (drives ruby_ui:component for you):"
  say "       bin/rails generate ruby_ui_admin:components"
  say "  2. Tailwind: extract the admin's classes into your app and @source the result:"
  say "       bin/rails ruby_ui_admin:tailwind_source   # writes app/assets/tailwind/ruby_ui_admin_classes.html"
  say %(       @source "./ruby_ui_admin_classes.html";  # in your Tailwind entry CSS (commit the file))
  say "  3. Stimulus: copy the admin's controllers into your app with"
  say "       bin/rails generate ruby_ui_admin:assets"
  say "     then add the one import line it prints to app/javascript/application.js."
  say "  4. Set config.head_assets in config/initializers/ruby_ui_admin.rb (see the comment there)."
  say "\nFull guide: docs/getting-started/installation.md", :green
  say "Then generate your first resource:"
  say "  bin/rails generate ruby_ui_admin:resource <Model>\n"
end

#mount_engineObject



20
21
22
# File 'lib/generators/ruby_ui_admin/install/install_generator.rb', line 20

def mount_engine
  route %(mount_ruby_ui_admin at: "/#{options[:path]}")
end