Class: Layered::Ui::Generators::ImportJsGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/layered/ui/import_js_generator.rb

Instance Method Summary collapse

Instance Method Details

#add_js_importObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/generators/layered/ui/import_js_generator.rb', line 7

def add_js_import
  application_js = "app/javascript/application.js"

  return unless File.exist?(application_js)

  content = File.read(application_js)
  import_line = 'import "layered_ui"'

  return if content.include?(import_line)

  if content.include?('import "@hotwired/turbo-rails"')
    inject_into_file application_js, "\n#{import_line}", after: 'import "@hotwired/turbo-rails"'
    say "Added import to #{application_js}", :green
  else
    append_to_file application_js, "\n#{import_line}\n"
    say "Appended import to #{application_js}", :green
  end
end