Class: Moirai::Generators::InstallGenerator

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

Instance Method Summary collapse

Instance Method Details

#add_initializerObject



35
36
37
38
# File 'lib/generators/moirai/install_generator.rb', line 35

def add_initializer
  say "Copying Moirai initializer"
  template "initializers/moirai.tt", "config/initializers/moirai.rb"
end

#copy_migrationObject



9
10
11
# File 'lib/generators/moirai/install_generator.rb', line 9

def copy_migration
  invoke "moirai:migration"
end

#mount_engineObject



31
32
33
# File 'lib/generators/moirai/install_generator.rb', line 31

def mount_engine
  route "mount Moirai::Engine, at: Moirai.configuration.root_path, as: 'moirai'"
end

#setup_javascriptObject



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/generators/moirai/install_generator.rb', line 13

def setup_javascript
  if using_importmap?
    say "Pin moirai"
    string_to_be_added = "pin \"controllers/moirai_translation_controller\", to: \"moirai_translation_controller.js\""
    say %(Appending: #{string_to_be_added})
    append_to_file "config/importmap.rb", %(#{string_to_be_added}\n)
  elsif using_js_bundling?
    append_path = "app/javascript/controllers/moirai_translation_controller.js"
    say "Copying Moirai Stimulus controller in #{append_path}"
    copy_file "../../../../app/assets/javascripts/moirai_translation_controller.js", append_path
    rails_command "stimulus:manifest:update"
  end
end

#using_js_bundling?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/generators/moirai/install_generator.rb', line 27

def using_js_bundling?
  Rails.root.join("app/javascript/controllers").exist?
end