Class: PetiteVite::ScaffoldGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/petite_vite/scaffold/scaffold_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.exit_on_failure?Boolean

Returns:

  • (Boolean)


7
8
9
# File 'lib/generators/petite_vite/scaffold/scaffold_generator.rb', line 7

def self.exit_on_failure?
  true
end

Instance Method Details

#create_controllerObject



20
21
22
# File 'lib/generators/petite_vite/scaffold/scaffold_generator.rb', line 20

def create_controller
  template("controller.rb", "app/controllers/petite_vite_controller.rb")
end

#create_viewObject



24
25
26
# File 'lib/generators/petite_vite/scaffold/scaffold_generator.rb', line 24

def create_view
  template("page.html.erb", "app/views/petite_vite/page.html.erb")
end

#insert_catchall_routeObject



42
43
44
45
46
47
48
# File 'lib/generators/petite_vite/scaffold/scaffold_generator.rb', line 42

def insert_catchall_route
  return unless options.fetch("route_all")

  insert_into_file("config/routes.rb", before: %r{^end\s*\z}, verbose: false) do
    "  get \"*path\", to: \"petite_vite#page\"\n"
  end
end

#insert_root_routeObject



28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/generators/petite_vite/scaffold/scaffold_generator.rb', line 28

def insert_root_route
  return unless options.fetch("route_root")

  routes_path = File.join(destination_root, "config/routes.rb")
  if /^\s*root\s/.match?(File.read(routes_path))
    say_status("skip", "root route already defined in config/routes.rb", :yellow)
    return
  end

  insert_into_file("config/routes.rb", after: %r{Rails\.application\.routes\.draw do\n}, verbose: false) do
    "  root \"petite_vite#page\"\n"
  end
end

#verify_inputObject



16
17
18
# File 'lib/generators/petite_vite/scaffold/scaffold_generator.rb', line 16

def verify_input
  mount_id!
end