Class: TestLauncher::Queries::MultiPathQuery

Inherits:
BaseQuery
  • Object
show all
Defined in:
lib/test_launcher/queries.rb

Instance Attribute Summary

Attributes inherited from BaseQuery

#request

Instance Method Summary collapse

Methods inherited from BaseQuery

#initialize

Constructor Details

This class inherits a constructor from TestLauncher::Queries::BaseQuery

Instance Method Details

#commandObject



145
146
147
148
149
150
# File 'lib/test_launcher/queries.rb', line 145

def command
  return if test_cases.empty?

  shell.notify("Found #{pluralize(file_count, "file")}.")
  runner.multiple_files(test_cases)
end

#filesObject



161
162
163
164
165
166
167
168
169
170
# File 'lib/test_launcher/queries.rb', line 161

def files
  if found_files.any? {|files_array| files_array.empty? }
    if !found_files.all? {|files_array| files_array.empty? }
      shell.warn("It looks like you're searching for multiple files, but we couldn't identify them all.")
    end
    []
  else
    found_files.flatten.uniq
  end
end

#found_filesObject



172
173
174
175
176
# File 'lib/test_launcher/queries.rb', line 172

def found_files
  @found_files ||= queries.map {|query|
    searcher.test_files(query)
  }
end

#queriesObject



178
179
180
# File 'lib/test_launcher/queries.rb', line 178

def queries
  @queries ||= request.search_string.split(" ")
end

#test_casesObject



152
153
154
155
156
157
158
159
# File 'lib/test_launcher/queries.rb', line 152

def test_cases
  @test_cases ||= files.map { |file_path|
    request.test_case(
      file: file_path,
      request: request,
    )
  }
end