Class: Ask::Rails::Harness::Tools::SearchCodebase
- Inherits:
-
Ask::Rails::Harness::Tool
- Object
- Tool
- Ask::Rails::Harness::Tool
- Ask::Rails::Harness::Tools::SearchCodebase
- Defined in:
- lib/ask/rails/harness/tools/search_codebase.rb
Instance Method Summary collapse
Methods inherited from Ask::Rails::Harness::Tool
#call, #rails_root, session_id, session_id=
Instance Method Details
#execute(pattern:, path: nil) ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/ask/rails/harness/tools/search_codebase.rb', line 12 def execute(pattern:, path: nil) search_path = (path ? rails_root.join(path) : rails_root).to_s escaped_pattern = pattern.gsub("'", "'\\\\''") escaped_path = search_path.gsub("'", "'\\\\''") results = `cd #{rails_root} && grep -rn '#{escaped_pattern}' #{escaped_path} 2>&1 | head -50` { results: results.lines.map(&:chomp), count: results.lines.count } end |