Class: Contai::Generators::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Contai::Generators::InstallGenerator
- Defined in:
- lib/generators/contai/install_generator.rb
Instance Method Summary collapse
- #add_routes ⇒ Object
- #copy_assets ⇒ Object
- #create_initializer ⇒ Object
- #create_job ⇒ Object
- #create_stimulus_controller ⇒ Object
- #show_instructions ⇒ Object
Instance Method Details
#add_routes ⇒ Object
12 13 14 |
# File 'lib/generators/contai/install_generator.rb', line 12 def add_routes route 'post "/contai/generate", to: "contai/generations#create", as: "contai_generation"' end |
#copy_assets ⇒ Object
27 28 29 30 |
# File 'lib/generators/contai/install_generator.rb', line 27 def copy_assets template 'contai.js', 'app/assets/javascripts/contai.js' template 'contai.css', 'app/assets/stylesheets/contai.css' end |
#create_initializer ⇒ Object
8 9 10 |
# File 'lib/generators/contai/install_generator.rb', line 8 def create_initializer template 'initializer.rb', 'config/initializers/contai.rb' end |
#create_job ⇒ Object
32 33 34 |
# File 'lib/generators/contai/install_generator.rb', line 32 def create_job template 'contai_generation_job.rb', 'app/jobs/contai_generation_job.rb' end |
#create_stimulus_controller ⇒ Object
16 17 18 19 20 21 22 23 24 25 |
# File 'lib/generators/contai/install_generator.rb', line 16 def create_stimulus_controller if stimulus_detected? template 'contai_controller.js', 'app/javascript/controllers/contai_controller.js' say "Stimulus controller created. Make sure to register it in your application:", :green say "// app/javascript/controllers/application.js" say 'import ContaiController from "./contai_controller"' say 'application.register("contai", ContaiController)' end end |
#show_instructions ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/generators/contai/install_generator.rb', line 36 def show_instructions say "\n" + "="*60 say "Contai has been installed successfully!", :green say "="*60 say "\nNext steps:" say "1. Configure your AI providers in config/initializers/contai.rb" say "2. Add 'include Contai::Generatable' to your models" say "3. Configure your models with the contai DSL" say "4. Use contai_button or contai_field_with_button helpers in your views" say "\nExample model configuration:" say <<~EXAMPLE class Article < ApplicationRecord include Contai::Generatable contai do prompt_from :title, :description output_to :body provider :openai, api_key: ENV['OPENAI_API_KEY'] template "Write about: {{title}} - {{description}}" end end EXAMPLE end |