Class: GuidedTour::Generators::InstallGenerator

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

Instance Method Summary collapse

Instance Method Details

#add_controller_to_application_jsObject



26
27
28
29
30
31
32
33
34
35
# File 'lib/generators/guided_tour/install/install_generator.rb', line 26

def add_controller_to_application_js
  inject_into_file "app/javascript/controllers/application.js",
                   before: "export { application }" do
    <<~JAVASCRIPT
      import GuidedTourController from "@itsbede/guided-tour"
      application.register('guided-tour--tour', GuidedTourController)

    JAVASCRIPT
  end
end

#add_javascriptObject



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

def add_javascript
  if File.exist?("config/importmap.rb")
    append_to_file "config/importmap.rb" do
      'pin "@itsbede/guided-tour"'
    end
  end

  if File.exist?("package.json")
    run "yarn add @itsbede/guided-tour"
  end
end

#check_dependenciesObject



7
8
9
10
11
12
# File 'lib/generators/guided_tour/install/install_generator.rb', line 7

def check_dependencies
  unless File.exist?("app/javascript/controllers/index.js")
    say "Installing stimulus-rails...", :green
    run "rails stimulus:install"
  end
end