Class: Rolemodel::UiComponents::NavbarGenerator
- Inherits:
-
GeneratorBase
- Object
- Rails::Generators::Base
- GeneratorBase
- Rolemodel::UiComponents::NavbarGenerator
- Defined in:
- lib/generators/rolemodel/ui_components/navbar/navbar_generator.rb
Instance Method Summary collapse
- #add_shoelace_javascript_imports ⇒ Object
- #copy_navbar_files ⇒ Object
- #copy_shoelace_css_imports ⇒ Object
- #insert_navbar_before_content ⇒ Object
- #install_shoelace ⇒ Object
Instance Method Details
#add_shoelace_javascript_imports ⇒ Object
31 32 33 34 35 36 37 38 39 40 |
# File 'lib/generators/rolemodel/ui_components/navbar/navbar_generator.rb', line 31 def add_shoelace_javascript_imports say 'Copying Shoelace JS imports', :green copy_file 'app/javascript/lib/shoelace.js' append_to_file 'app/javascript/application.js' do <<~JS import './lib/shoelace.js' JS end end |
#copy_navbar_files ⇒ Object
8 9 10 11 12 |
# File 'lib/generators/rolemodel/ui_components/navbar/navbar_generator.rb', line 8 def say 'Copying Navbar files', :green copy_file 'app/views/layouts/_navbar.html.slim' end |
#copy_shoelace_css_imports ⇒ Object
42 43 44 45 46 47 48 49 50 51 |
# File 'lib/generators/rolemodel/ui_components/navbar/navbar_generator.rb', line 42 def copy_shoelace_css_imports say 'Copying Shoelace CSS imports', :green copy_file 'app/assets/stylesheets/components/shoelace/index.scss' append_to_file 'app/assets/stylesheets/application.scss' do <<~SCSS @import 'components/shoelace/index.scss'; SCSS end end |
#insert_navbar_before_content ⇒ Object
14 15 16 17 18 19 20 21 22 23 |
# File 'lib/generators/rolemodel/ui_components/navbar/navbar_generator.rb', line 14 def say 'Inserting Navbar render tag', :green insert_into_file 'app/views/layouts/application.html.slim', before: /\s+\.app__content/ do optimize_indentation <<~SLIM, 4 = render 'layouts/navbar' SLIM end end |
#install_shoelace ⇒ Object
25 26 27 28 29 |
# File 'lib/generators/rolemodel/ui_components/navbar/navbar_generator.rb', line 25 def install_shoelace say 'Installing Shoelace package', :green run 'yarn add @shoelace-style/shoelace' end |