Class: RailsMcpServer::LoadGuide

Inherits:
BaseTool
  • Object
show all
Defined in:
lib/rails-mcp-server/tools/load_guide.rb

Instance Method Summary collapse

Instance Method Details

#call(guides:, guide: nil) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/rails-mcp-server/tools/load_guide.rb', line 12

def call(guides:, guide: nil)
  # Normalize guides parameter
  guides_type = guides.downcase.strip

  # Validate supported guide types
  unless %w[rails turbo stimulus kamal custom].include?(guides_type)
    message = "Unsupported guide type '#{guides_type}'. Supported types: rails, turbo, stimulus, kamal, custom."
    log(:error, message)
    return message
  end

  if guide.nil? || guide.strip.empty?
    log(:debug, "Loading available #{guides_type} guides...")
    load_guides_list(guides_type)
  else
    log(:debug, "Loading specific #{guides_type} guide: #{guide}")
    load_specific_guide(guide, guides_type)
  end
end