Class: Ask::Rails::Tools::SearchCodebase

Inherits:
Ask::Rails::Tool show all
Defined in:
lib/ask/rails/tools/search_codebase.rb

Instance Method Summary collapse

Methods inherited from Ask::Rails::Tool

#rails_root

Instance Method Details

#execute(pattern:, path: nil) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/ask/rails/tools/search_codebase.rb', line 11

def execute(pattern:, path: nil)
  search_path = path ? rails_root.join(path) : rails_root
  results = `cd #{rails_root} && grep -rn '#{pattern}' #{search_path} 2>&1 | head -50`
  Ask::Result.success(
    data: { results: results, count: results.lines.count },
    metadata: { pattern: pattern, count: results.lines.count }
  )
end