Class: Dialkit::Generators::InstallGenerator

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

Instance Method Summary collapse

Instance Method Details

#copy_demo_entrypointObject



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

def copy_demo_entrypoint
  return if File.exist?("app/javascript/dialkit_demo.jsx")

  template "dialkit_demo.jsx", "app/javascript/dialkit_demo.jsx"
end


35
36
37
38
39
40
41
42
# File 'lib/generators/dialkit/install/install_generator.rb', line 35

def print_next_steps
  say ""
  say "DialKit Rails install complete.", :green
  say "Next steps:"
  say "  1. npm install dialkit-rails motion react react-dom"
  say "  2. npm run build"
  say "  3. Load a page with #dialkit-root to mount the demo panel"
end

#wire_application_entrypointObject



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

def wire_application_entrypoint
  path = "app/javascript/application.js"
  return unless File.exist?(path)

  import_line = 'import "./dialkit_demo";'
  return if File.read(path).include?(import_line)

  append_to_file(path, "\n#{import_line}\n")
end

#wire_layout_stylesheetObject



24
25
26
27
28
29
30
31
32
33
# File 'lib/generators/dialkit/install/install_generator.rb', line 24

def wire_layout_stylesheet
  path = "app/views/layouts/application.html.erb"
  return unless File.exist?(path)

  stylesheet_line = '<%= dialkit_stylesheet_tag "data-turbo-track": "reload" %>'
  return if File.read(path).include?(stylesheet_line)
  return unless File.read(path).include?('<%= stylesheet_link_tag "application" %>')

  inject_into_file(path, "\n    #{stylesheet_line}", after: '<%= stylesheet_link_tag "application" %>')
end