Class: Senren::Generators::ComponentGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/senren/component/component_generator.rb

Overview

Low-level generator for creating a custom component in the host app.

bin/rails generate senren:component picker
bin/rails generate senren:component picker --no-client

Instance Method Summary collapse

Instance Method Details

#create_component_classObject



18
19
20
21
# File 'lib/generators/senren/component/component_generator.rb', line 18

def create_component_class
  template 'component.rb.tt',
           "app/components/senren/#{file_name}_component.rb"
end

#create_component_templateObject



23
24
25
26
# File 'lib/generators/senren/component/component_generator.rb', line 23

def create_component_template
  template 'component.html.erb.tt',
           "app/components/senren/#{file_name}_component.html.erb"
end

#create_component_testObject



28
29
30
31
# File 'lib/generators/senren/component/component_generator.rb', line 28

def create_component_test
  template 'component_test.rb.tt',
           "test/components/senren/#{file_name}_component_test.rb"
end

#create_stimulus_controllerObject



33
34
35
36
37
38
# File 'lib/generators/senren/component/component_generator.rb', line 33

def create_stimulus_controller
  return unless options[:client]

  template 'controller.js.tt',
           "app/javascript/controllers/senren/#{file_name}_controller.js"
end

#create_system_testObject



40
41
42
43
44
45
# File 'lib/generators/senren/component/component_generator.rb', line 40

def create_system_test
  return unless options[:client]

  template 'system_test.rb.tt',
           "test/system/senren/#{file_name}_test.rb"
end