Class: Webring::Generators::MembershipRequestsControllerGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Shared::RouteInjector
Defined in:
lib/generators/webring/membership_requests_controller/membership_requests_controller_generator.rb

Overview

Note:

This generator should be run after installing the Webring engine and generating the MembershipRequest model with webring:membership_request

This generator creates both the controller file and adds the required routes

Examples:

The generated controller provides endpoints for creating membership requests:

# GET /webring/membership_requests/new - Controller for creating a new membership request
# POST /webring/membership_requests    - Create a new membership request

Instance Method Summary collapse

Instance Method Details

#create_controller_fileObject

Creates the MembershipRequestsController file based on the template



24
25
26
# File 'lib/generators/webring/membership_requests_controller/membership_requests_controller_generator.rb', line 24

def create_controller_file
  template 'membership_requests_controller.rb', 'app/controllers/webring/membership_requests_controller.rb'
end

#create_membership_request_routesObject

Adds membership request routes to the application’s routes.rb file These routes are used to create new membership requests



30
31
32
33
34
35
36
37
38
39
# File 'lib/generators/webring/membership_requests_controller/membership_requests_controller_generator.rb', line 30

def create_membership_request_routes
  route_content = "    # Webring membership request routes\n    namespace :webring do\n      resources :membership_requests, only: [:new, :create]\n    end\n  ROUTE\n\n  inject_webring_routes(route_content)\nend\n"