Class: Codeowners::Cli::SuggestFileFromPattern
- Inherits:
- 
      Object
      
        - Object
- Codeowners::Cli::SuggestFileFromPattern
 
- Defined in:
- lib/codeowners/cli/suggest_file_from_pattern.rb
Overview
Case the user have ‘fzf` installed, it works building suggestions from `fzf`. See more on #fzf_query.
Without ‘fzf` it tries to suggest patterns using fuzzy match search picking all the files from the parent folder of the current pattern.
Class Method Summary collapse
- 
  
    
      .installed_fzf?  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    Checks if fzf is installed. 
Instance Method Summary collapse
- 
  
    
      #initialize(pattern)  ⇒ SuggestFileFromPattern 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of SuggestFileFromPattern. 
- 
  
    
      #pick_suggestion  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Pick suggestion from current pattern If have fzf installed, pick suggestions using fzf otherwise fallback to the default fuzzy match searching for the file from the parent folder. 
- #strategy_class ⇒ Object
Constructor Details
#initialize(pattern) ⇒ SuggestFileFromPattern
Returns a new instance of SuggestFileFromPattern.
| 11 12 13 | # File 'lib/codeowners/cli/suggest_file_from_pattern.rb', line 11 def initialize(pattern) @pattern = pattern end | 
Class Method Details
.installed_fzf? ⇒ Boolean
Checks if fzf is installed.
| 28 29 30 | # File 'lib/codeowners/cli/suggest_file_from_pattern.rb', line 28 def self.installed_fzf? system('fzf --version > /dev/null 2>&1') end | 
Instance Method Details
#pick_suggestion ⇒ Object
Pick suggestion from current pattern If have fzf installed, pick suggestions using fzf otherwise fallback to the default fuzzy match searching for the file from the parent folder.
| 19 20 21 | # File 'lib/codeowners/cli/suggest_file_from_pattern.rb', line 19 def pick_suggestion strategy_class.new(@pattern).pick_suggestions end | 
#strategy_class ⇒ Object
| 23 24 25 | # File 'lib/codeowners/cli/suggest_file_from_pattern.rb', line 23 def strategy_class SuggestFileFromPattern.installed_fzf? ? FilesFromFZFSearch : FilesFromParentFolder end |