Class: ClaudeMemory::MCP::SetupStatusAnalyzer
- Inherits:
-
Object
- Object
- ClaudeMemory::MCP::SetupStatusAnalyzer
- Defined in:
- lib/claude_memory/mcp/setup_status_analyzer.rb
Overview
Pure logic for analyzing setup status and generating recommendations Follows Functional Core pattern - no I/O, just decision logic
Class Method Summary collapse
-
.determine_status(global_db_exists, claude_md_exists, version_status) ⇒ String
Determine overall setup status based on component states.
-
.determine_version_status(current_version, latest_version) ⇒ String
Determine version status by comparing current and latest.
-
.extract_version(content) ⇒ String?
Extract version from CLAUDE.md content.
-
.generate_recommendations(initialized, version_status, has_warnings) ⇒ Array<String>
Generate recommendations based on setup status.
Class Method Details
.determine_status(global_db_exists, claude_md_exists, version_status) ⇒ String
Determine overall setup status based on component states
13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/claude_memory/mcp/setup_status_analyzer.rb', line 13 def self.determine_status(global_db_exists, claude_md_exists, version_status) initialized = global_db_exists && claude_md_exists if initialized && version_status == "up_to_date" "healthy" elsif initialized && version_status == "outdated" "needs_upgrade" elsif global_db_exists && !claude_md_exists "partially_initialized" else "not_initialized" end end |
.determine_version_status(current_version, latest_version) ⇒ String
Determine version status by comparing current and latest
62 63 64 65 66 67 68 69 70 |
# File 'lib/claude_memory/mcp/setup_status_analyzer.rb', line 62 def self.determine_version_status(current_version, latest_version) return "unknown" unless current_version if current_version == latest_version "up_to_date" else "outdated" end end |
.extract_version(content) ⇒ String?
Extract version from CLAUDE.md content
52 53 54 55 56 |
# File 'lib/claude_memory/mcp/setup_status_analyzer.rb', line 52 def self.extract_version(content) if content =~ /<!-- ClaudeMemory v([\d.]+) -->/ $1 end end |
.generate_recommendations(initialized, version_status, has_warnings) ⇒ Array<String>
Generate recommendations based on setup status
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/claude_memory/mcp/setup_status_analyzer.rb', line 32 def self.generate_recommendations(initialized, version_status, has_warnings) recommendations = [] if !initialized recommendations << "Run: claude-memory init" recommendations << "This will create databases, configure hooks, and set up CLAUDE.md" elsif version_status == "outdated" recommendations << "Run: claude-memory upgrade (when available)" recommendations << "Or manually run: claude-memory init to update CLAUDE.md" elsif has_warnings recommendations << "Run: claude-memory doctor --fix (when available)" recommendations << "Or check individual issues and fix manually" end recommendations end |