Class: RailsForge::Generators::ViewComponentGenerator

Inherits:
BaseGenerator
  • Object
show all
Defined in:
lib/railsforge/generators/view_component_generator.rb

Overview

ViewComponent generator

Constant Summary collapse

TEMPLATE_VERSION =

Template version

"v1"

Instance Method Summary collapse

Methods inherited from BaseGenerator

#camelize, #find_rails_app_path, #underscore

Constructor Details

#initialize(name, options = {}) ⇒ ViewComponentGenerator

Initialize the generator

Parameters:

  • name (String)

    Component name

  • options (Hash) (defaults to: {})

    Generator options



16
17
18
19
# File 'lib/railsforge/generators/view_component_generator.rb', line 16

def initialize(name, options = {})
  super(name, options)
  validate_name!
end

Instance Method Details

#generateString

Generate ViewComponent files

Returns:

  • (String)

    Success message



23
24
25
26
27
28
29
30
31
32
# File 'lib/railsforge/generators/view_component_generator.rb', line 23

def generate
  return "Not in a Rails application directory" unless @base_path

  results = []
  results << generate_component
  results << generate_template if with_template?
  results << generate_spec if with_spec?

  results.join("\n")
end