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

Class Method Details

.detect_from_rails_rootObject

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