Class: JetUi::Generators::InstallGenerator

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

Overview

Sets up JetUi in the host Rails application.

Usage:

rails generate jet_ui:install

Constant Summary collapse

NPM_PACKAGE =
'@jetrockets/jet_ui'
JS_CONTROLLERS_FILE =
'app/javascript/controllers/index.js'
TAILWIND_SOURCE_FILES =
%w[
  app/assets/tailwind/application.css
  app/assets/stylesheets/application.tailwind.css
  app/assets/stylesheets/application.postcss.css
].freeze

Instance Method Summary collapse

Instance Method Details

#setupObject



57
58
59
60
61
62
63
# File 'lib/generators/jet_ui/install/install_generator.rb', line 57

def setup
  case js_runtime
  when :importmap then setup_importmap
  when :vite      then setup_vite
  else setup_unknown
  end
end

#show_runtimeObject



49
50
51
52
53
54
55
# File 'lib/generators/jet_ui/install/install_generator.rb', line 49

def show_runtime
  case js_runtime
  when :importmap then say '  Detected importmap — wiring JetUi via the gem.', :green
  when :vite      then say '  Detected Vite — wiring JetUi via the npm package.', :green
  else say '  Could not detect importmap or Vite — printing both setups.', :yellow
  end
end

#show_usageObject



65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/generators/jet_ui/install/install_generator.rb', line 65

def show_usage
  say "\nJetUi installed!\n", :green
  say 'Add flash messages to your layout (e.g. app/views/layouts/application.html.erb):'
  say %(  <%= jet_ui.flash(messages: flash) %>\n)
  say 'Usage in your views:'
  say %(  <%= jet_ui.btn variant: :default do %>Save<% end %>)
  say %(  <%= jet_ui.card do %>)
  say %(    <%= jet_ui.card_header do %>)
  say %(      <%= jet_ui.card_title "Hello" %>)
  say %(    <% end %>)
  say %(    <%= jet_ui.card_body do %>Content<% end %>)
  say %(  <% end %>\n)
  say 'To eject a component for local customization:'
  say '  rails generate jet_ui:eject btn'
  say '  rails generate jet_ui:eject card'
  say "  rails generate jet_ui:eject btn card\n"
end