Class: ClaudeMemory::Configuration
- Inherits:
-
Object
- Object
- ClaudeMemory::Configuration
- Defined in:
- lib/claude_memory/configuration.rb
Overview
Centralized configuration and ENV access Provides consistent access to paths and environment variables
Instance Attribute Summary collapse
-
#env ⇒ Object
readonly
Returns the value of attribute env.
Instance Method Summary collapse
-
#claude_config_dir ⇒ String
Claude config directory (default: ~/.claude).
-
#global_db_path ⇒ String
Path to global memory database.
-
#home_dir ⇒ String
User home directory.
-
#initialize(env = ENV) ⇒ Configuration
constructor
A new instance of Configuration.
-
#project_db_path(project_path = nil) ⇒ String
Path to project memory database.
-
#project_dir ⇒ String
Project root directory (resolves git worktrees).
-
#session_id ⇒ String?
Current Claude session ID from CLAUDE_SESSION_ID.
-
#transcript_path ⇒ String?
Path to current transcript from CLAUDE_TRANSCRIPT_PATH.
Constructor Details
#initialize(env = ENV) ⇒ Configuration
Returns a new instance of Configuration.
12 13 14 |
# File 'lib/claude_memory/configuration.rb', line 12 def initialize(env = ENV) @env = env end |
Instance Attribute Details
#env ⇒ Object (readonly)
Returns the value of attribute env.
9 10 11 |
# File 'lib/claude_memory/configuration.rb', line 9 def env @env end |
Instance Method Details
#claude_config_dir ⇒ String
Returns Claude config directory (default: ~/.claude).
27 28 29 |
# File 'lib/claude_memory/configuration.rb', line 27 def claude_config_dir env["CLAUDE_CONFIG_DIR"] || File.join(home_dir, ".claude") end |
#global_db_path ⇒ String
Returns path to global memory database.
32 33 34 |
# File 'lib/claude_memory/configuration.rb', line 32 def global_db_path File.join(claude_config_dir, "memory.sqlite3") end |
#home_dir ⇒ String
Returns user home directory.
17 18 19 |
# File 'lib/claude_memory/configuration.rb', line 17 def home_dir env["HOME"] || File.("~") end |
#project_db_path(project_path = nil) ⇒ String
Returns path to project memory database.
38 39 40 41 |
# File 'lib/claude_memory/configuration.rb', line 38 def project_db_path(project_path = nil) path = project_path || project_dir File.join(path, ".claude", "memory.sqlite3") end |
#project_dir ⇒ String
Returns project root directory (resolves git worktrees).
22 23 24 |
# File 'lib/claude_memory/configuration.rb', line 22 def project_dir env["CLAUDE_PROJECT_DIR"] || resolve_project_dir end |
#session_id ⇒ String?
Returns current Claude session ID from CLAUDE_SESSION_ID.
44 45 46 |
# File 'lib/claude_memory/configuration.rb', line 44 def session_id env["CLAUDE_SESSION_ID"] end |
#transcript_path ⇒ String?
Returns path to current transcript from CLAUDE_TRANSCRIPT_PATH.
49 50 51 |
# File 'lib/claude_memory/configuration.rb', line 49 def transcript_path env["CLAUDE_TRANSCRIPT_PATH"] end |