Class: ComponentGenerator

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

Instance Method Summary collapse

Instance Method Details

#add_css_fileObject



16
17
18
# File 'lib/generators/frozen/templates/ui/lib/generators/component/component_generator.rb', line 16

def add_css_file
  template "bem_stylesheet.css.tt", File.join("app/components", class_path, "#{file_name}_component.css")
end

#add_erb_templateObject



12
13
14
# File 'lib/generators/frozen/templates/ui/lib/generators/component/component_generator.rb', line 12

def add_erb_template
  template "erb_template.html.erb.tt", File.join("app/components", class_path, "#{file_name}_component.html.erb")
end

#add_jasmine_specObject



28
29
30
# File 'lib/generators/frozen/templates/ui/lib/generators/component/component_generator.rb', line 28

def add_jasmine_spec
  template "jasmine_spec.js.tt", File.join("test/components", class_path, "#{file_name}_component_spec.js")
end

#add_unpoly_compilerObject



20
21
22
# File 'lib/generators/frozen/templates/ui/lib/generators/component/component_generator.rb', line 20

def add_unpoly_compiler
  template "unpoly_compiler.js.tt", File.join("app/components", class_path, "#{file_name}_component.js")
end

#add_view_specObject



24
25
26
# File 'lib/generators/frozen/templates/ui/lib/generators/component/component_generator.rb', line 24

def add_view_spec
  template "view_spec.rb.tt", File.join("test/components", class_path, "#{file_name}_component_test.rb")
end

#fix_module_nesting_via_rubocop_because_it_was_impossible_to_get_module_namespacing_to_work_as_expectedObject



32
33
34
35
36
# File 'lib/generators/frozen/templates/ui/lib/generators/component/component_generator.rb', line 32

def fix_module_nesting_via_rubocop_because_it_was_impossible_to_get_module_namespacing_to_work_as_expected
  in_root do
    system("bash", "-c", 'bin/rubocop --only Style/ClassAndModuleChildren,Layout/IndentationWidth,Layout/CommentIndentation --autocorrect-all --force-exclusion --config <(echo "Style/ClassAndModuleChildren: { EnforcedStyle: nested }")')
  end
end

#generate_component_with_preview_and_localeObject



6
7
8
9
10
# File 'lib/generators/frozen/templates/ui/lib/generators/component/component_generator.rb', line 6

def generate_component_with_preview_and_locale
  in_root do
    system("bin/rails generate view_component:component #{name} #{attrs.join(" ")} --preview --preview_path=test/components --locale --skip-test-framework --skip-template-engine")
  end
end