Module: ClaudeUsage::ProjectNameResolver
- Defined in:
- lib/claude_usage/project_name_resolver.rb
Overview
Shared utility for detecting and resolving project names
Class Method Summary collapse
-
.detect_from_rails_root ⇒ Object
Auto-detect project name from Rails.root Converts: /Users/name/projects/myapp → -Users-name-projects-myapp.
-
.resolve(configured_name = nil, fallback: 'your-project-name') ⇒ Object
Get the project name with fallback.
Class Method Details
.detect_from_rails_root ⇒ Object
Auto-detect project name from Rails.root Converts: /Users/name/projects/myapp → -Users-name-projects-myapp
10 11 12 13 14 15 16 |
# File 'lib/claude_usage/project_name_resolver.rb', line 10 def detect_from_rails_root return nil unless defined?(Rails) && Rails.root # Claude Code uses the absolute path with dashes as the folder name # Remove leading slash, then replace remaining slashes with dashes, then prepend dash Rails.root.to_s.sub(%r{^/}, '').gsub('/', '-').prepend('-') end |
.resolve(configured_name = nil, fallback: 'your-project-name') ⇒ Object
Get the project name with fallback
19 20 21 |
# File 'lib/claude_usage/project_name_resolver.rb', line 19 def resolve(configured_name = nil, fallback: 'your-project-name') configured_name || detect_from_rails_root || fallback end |