Class: NitroKit::ComponentGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- NitroKit::ComponentGenerator
- Defined in:
- lib/generators/nitro_kit/component_generator.rb
Instance Method Summary collapse
- #add_gems ⇒ Object
- #copy_base_component ⇒ Object
- #copy_component_files ⇒ Object
- #install_modules ⇒ Object
Instance Method Details
#add_gems ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/generators/nitro_kit/component_generator.rb', line 17 def add_gems gems = components.flat_map(&:all_gems) return unless gems.any? gems.each do |name| gem(name) unless has_gem?(name) end run("bundle install") end |
#copy_base_component ⇒ Object
7 8 9 |
# File 'lib/generators/nitro_kit/component_generator.rb', line 7 def copy_base_component copy_file("app/components/nitro_kit/component.rb", "app/components/nitro_kit/component.rb") end |
#copy_component_files ⇒ Object
11 12 13 14 15 |
# File 'lib/generators/nitro_kit/component_generator.rb', line 11 def copy_component_files components.map(&:all_files).flatten.uniq.each do |path| copy_file(path, path) end end |
#install_modules ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/generators/nitro_kit/component_generator.rb', line 29 def install_modules modules = components.flat_map(&:all_modules).uniq return unless modules.any? case js_strategy when :importmaps run("bin/importmap pin #{modules.join(" ")}") when :yarn run("yarn add #{modules.join(" ")}") when :npm run("npm install --save #{modules.join(" ")}") when :bun run("bun add #{modules.join(" ")}") else say("Could not determine JS strategy. Please install one of: npm, yarn, bun, or importmaps") end end |