Class: AiScreenAnalyzer::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/ai_screen_analyzer/install_generator.rb

Instance Method Summary collapse

Instance Method Details

#create_initializerObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/generators/ai_screen_analyzer/install_generator.rb', line 8

def create_initializer
  create_file "config/initializers/ai_screen_analyzer.rb", "    # AI Screen Analyzer Configuration\n    # Configure a gem AI Screen Analyzer aqui\n\n    AiScreenAnalyzer.configure do |config|\n      # Defina sua chave de API da OpenAI\n      # config.api_key = ENV['OPENAI_API_KEY']\n\n      # Modelo de IA a ser usado (padr\u00E3o: gpt-4-turbo)\n      # config.model = 'gpt-4-turbo'\n\n      # Prompt padr\u00E3o para an\u00E1lise\n      # config.default_prompt = \"Analise o conte\u00FAdo vis\u00EDvel nesta tela...\"\n\n      # Texto do bot\u00E3o\n      # config.default_button_text = \"Analisar com IA\"\n\n      # T\u00EDtulo da sidebar\n      # config.default_sidebar_title = \"An\u00E1lise da IA\"\n    end\n  RUBY\nend\n"

#display_readmeObject



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/generators/ai_screen_analyzer/install_generator.rb', line 50

def display_readme
  puts "\n    \u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557\n    \u2551         AI Screen Analyzer instalado com sucesso!             \u2551\n    \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D\n\n    Pr\u00F3ximos passos:\n\n    1. Rotas montadas automaticamente:\n       - O engine foi montado em /ai_screen_analyzer\n       - Endpoint de an\u00E1lise: POST /ai_screen_analyzer/analyze-screen\n       - Se desejar mudar o path de montagem, ajuste em config/routes.rb e veja a se\u00E7\u00E3o \"Rotas\" do README.\n\n    2. Configure sua chave de API da OpenAI:\n       - Abra config/initializers/ai_screen_analyzer.rb\n       - Descomente e configure as op\u00E7\u00F5es desejadas\n\n    3. Adicione o helper em seu layout principal:\n       <%= ai_screen_analyzer %>\n\n    4. Certifique-se de que a vari\u00E1vel de ambiente est\u00E1 definida:\n       export OPENAI_API_KEY='sua_chave_aqui'\n\n    Para mais informa\u00E7\u00F5es, visite:\n    https://github.com/seu-usuario/ai_screen_analyzer\n\n  TEXT\nend\n"

#mount_engine_routesObject



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/generators/ai_screen_analyzer/install_generator.rb', line 32

def mount_engine_routes
  routes_path = "config/routes.rb"

  if File.exist?(routes_path)
    content = File.read(routes_path)
    already_mounted = content.include?("AiScreenAnalyzer::Engine")

    unless already_mounted
      say_status :route, "Montando AiScreenAnalyzer::Engine em /ai_screen_analyzer", :green
      route "mount AiScreenAnalyzer::Engine => '/ai_screen_analyzer', as: 'ai_screen_analyzer_engine'"
    else
      say_status :route, "AiScreenAnalyzer::Engine já está montado (nenhuma alteração)", :blue
    end
  else
    say_status :warning, "Arquivo config/routes.rb não encontrado. Adicione manualmente: mount AiScreenAnalyzer::Engine => '/ai_screen_analyzer', as: 'ai_screen_analyzer_engine'", :yellow
  end
end