Class: Deepagents::Generators::ControllerGenerator
- Inherits:
-
Rails::Generators::NamedBase
- Object
- Rails::Generators::NamedBase
- Deepagents::Generators::ControllerGenerator
- Defined in:
- lib/generators/deepagents/controller/controller_generator.rb
Instance Method Summary collapse
- #add_routes ⇒ Object
- #create_controller_file ⇒ Object
- #create_serializer_file ⇒ Object
- #display_next_steps ⇒ Object
Instance Method Details
#add_routes ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/generators/deepagents/controller/controller_generator.rb', line 19 def add_routes return if [:skip_routes] route_file = "config/routes.rb" route_content = <<~ROUTE namespace :api do namespace :#{[:api_version]} do resources :#{plural_name}, only: [:index, :show, :create] do member do post :run post :upload end end end end ROUTE inject_into_file route_file, route_content, after: "Rails.application.routes.draw do\n" end |
#create_controller_file ⇒ Object
11 12 13 |
# File 'lib/generators/deepagents/controller/controller_generator.rb', line 11 def create_controller_file template "api_controller.rb", "app/controllers/api/#{[:api_version]}/#{file_name}_controller.rb" end |
#create_serializer_file ⇒ Object
15 16 17 |
# File 'lib/generators/deepagents/controller/controller_generator.rb', line 15 def create_serializer_file template "serializer.rb", "app/serializers/#{file_name}_serializer.rb" end |
#display_next_steps ⇒ Object
39 40 41 42 43 44 45 46 47 48 |
# File 'lib/generators/deepagents/controller/controller_generator.rb', line 39 def display_next_steps say "\n" say "DeepAgents API controller for #{file_name} has been created! 🎮", :green say "\n" say "Next steps:", :yellow say " 1. Ensure you have the required models (use the model generator if needed)" say " 2. Add any custom API endpoints to your controller" say " 3. Test your API endpoints with curl or Postman" say "\n" end |