Class: HotwireScaffold::Generators::ClientControllerGenerator

Inherits:
Rails::Generators::ScaffoldControllerGenerator
  • Object
show all
Defined in:
lib/generators/hotwire_scaffold/client_controller/client_controller_generator.rb

Overview

Custom scaffolding generator

Instance Method Summary collapse

Instance Method Details

#copy_view_filesObject



26
27
28
29
30
31
32
33
34
35
# File 'lib/generators/hotwire_scaffold/client_controller/client_controller_generator.rb', line 26

def copy_view_files
  directory_path = File.join("app/views", controller_file_path)
  available_views.each do |file_name|
    template "views/#{file_name}.html.erb", File.join(directory_path, "#{file_name}.html.erb")
  end
  turbo_files.each do |file_name|
    template "views/#{file_name}.turbo_stream.erb", File.join(directory_path, "#{file_name}.turbo_stream.erb")
  end
  template "views/partial.html.erb", File.join(directory_path, "_#{singular_name}.html.erb")
end

#create_controller_filesObject

Overrides ScaffoldControllerGenerator



14
15
16
17
# File 'lib/generators/hotwire_scaffold/client_controller/client_controller_generator.rb', line 14

def create_controller_files
  template "controller.rb",
           File.join("app/controllers", controller_class_path, "#{controller_file_name}_controller.rb")
end

#create_stimulus_controllerObject



19
20
21
22
23
24
# File 'lib/generators/hotwire_scaffold/client_controller/client_controller_generator.rb', line 19

def create_stimulus_controller
  return if no_stimulus?

  template "stimulus_controller.js",
           File.join("app/javascript/controllers", "#{controller_file_name}_controller.js")
end