Class: BetterUi::Generators::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- BetterUi::Generators::InstallGenerator
- Defined in:
- lib/generators/better_ui/install_generator.rb
Overview
Generatore per l’installazione di Better UI in un’applicazione Rails
Questo generatore:
-
Aggiunge le dipendenze necessarie
-
Monta l’engine nelle routes
-
Aggiunge gli asset all’applicazione
-
Crea un file di configurazione initializer
-
Genera i file di stile personalizzabili (opzionalmente)
Instance Method Summary collapse
- #add_assets ⇒ Object
- #copy_initializer ⇒ Object
- #create_stylesheets ⇒ Object
- #mount_engine ⇒ Object
- #show_instructions ⇒ Object
Instance Method Details
#add_assets ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/generators/better_ui/install_generator.rb', line 48 def add_assets application_css = "app/assets/stylesheets/application.css" application_scss = "app/assets/stylesheets/application.scss" file_to_update = if File.exist?(application_scss) application_scss elsif File.exist?(application_css) application_css else nil end if file_to_update if file_to_update.end_with?('.css') inject_into_file file_to_update, " *= require better_ui/application\n", before: " */\n" else append_to_file file_to_update, "\n@import 'better_ui/application';\n" end say "Better UI assets aggiunti a #{file_to_update}", :green else say "File CSS dell'applicazione non trovato. Salta l'aggiunta degli assets.", :yellow end end |
#copy_initializer ⇒ Object
41 42 43 44 45 46 |
# File 'lib/generators/better_ui/install_generator.rb', line 41 def copy_initializer return if [:skip_config] template "initializer.rb", "config/initializers/better_ui.rb" say "File di configurazione creato in config/initializers/better_ui.rb", :green end |
#create_stylesheets ⇒ Object
73 74 75 76 77 78 |
# File 'lib/generators/better_ui/install_generator.rb', line 73 def create_stylesheets return if [:skip_stylesheets] generate "better_ui:stylesheet" say "Fogli di stile personalizzabili generati", :green end |
#mount_engine ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/generators/better_ui/install_generator.rb', line 25 def mount_engine return if [:skip_routes] route_file = "config/routes.rb" if File.exist?(route_file) mount_code = " mount BetterUi::Engine => '/better_ui'" append_to_file route_file, injectible_routes(mount_code) say "Engine di Better UI montato in #{route_file}", :green else say "File routes.rb non trovato. Salta il montaggio dell'engine.", :yellow end end |
#show_instructions ⇒ Object
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/generators/better_ui/install_generator.rb', line 80 def show_instructions say "\n========================================================", :green say "Better UI installato con successo!", :green say "========================================================", :green say "\nPer utilizzare i componenti nella tua applicazione:", :blue say "- Accedi a http://localhost:3000/better_ui per vedere la documentazione", :blue say "- Utilizza i componenti nel tuo codice, ad esempio:", :blue say " <%= render BetterUi::General::ButtonComponent.new(label: 'Clicca qui') %>", :blue say "\nPer personalizzare i componenti, modifica i file in:", :blue say " app/assets/stylesheets/components/", :blue say "- I file *_overrides.scss contengono le classi vuote per le personalizzazioni", :blue say "\nPer configurare i valori predefiniti, modifica:", :blue say " config/initializers/better_ui.rb", :blue say "\n========================================================\n", :green end |