Class: Gitdocs::Search

Inherits:
Object
  • Object
show all
Defined in:
lib/gitdocs/search.rb

Defined Under Namespace

Classes: RepoDescriptor, SearchResult

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(repositories) ⇒ Search

Returns a new instance of Search.

Parameters:



15
16
17
# File 'lib/gitdocs/search.rb', line 15

def initialize(repositories)
  @repositories = repositories
end

Class Method Details

.search(term) ⇒ Hash<RepoDescriptor, Array<SearchResult>>

Parameters:

  • term (String)

Returns:



10
11
12
# File 'lib/gitdocs/search.rb', line 10

def self.search(term)
  new(Share.all.map { |x| Repository.new(x) }).search(term)
end

Instance Method Details

#search(term) ⇒ Hash<RepoDescriptor, Array<SearchResult>>

Parameters:

  • term (String)

Returns:



21
22
23
24
25
26
27
28
# File 'lib/gitdocs/search.rb', line 21

def search(term)
  results = {}
  @repositories.each_with_index do |repository, index|
    descriptor = RepoDescriptor.new(repository.root, index)
    results[descriptor] = search_repository(repository, term)
  end
  results.delete_if { |_key, value| value.empty? }
end