Module: HomeWorkChecker::TestRunStat
- Defined in:
- lib/hw_checker/ruby_stat.rb,
lib/hw_checker/python_stat.rb,
lib/hw_checker/ruby_test_run.rb,
lib/hw_checker/test_run_stat.rb,
lib/hw_checker/python_test_run.rb
Defined Under Namespace
Classes: PythonStat, PythonTestRun, RubyStat, RubyTestRun
Class Method Summary
collapse
Class Method Details
.detect_language(path) ⇒ Object
3
4
5
6
7
8
9
10
11
|
# File 'lib/hw_checker/test_run_stat.rb', line 3
def self.detect_language(path)
return '.py' unless Dir.exist?("#{path}/test")
Dir.foreach("#{path}/test") do |p|
if File.file?("#{path}/test/#{p}") && LANGUAGE_TYPES.include?(File.extname p)
return File.extname p
end
end
raise "Any .rb/.py file doesn't exist"
end
|
.execute(work_path, tmp_path, dirname) ⇒ Object
13
14
15
16
17
18
19
|
# File 'lib/hw_checker/test_run_stat.rb', line 13
def self.execute(work_path, tmp_path, dirname)
lang_needed = TestRunStat::detect_language("#{tmp_path}/#{dirname}")
class_names = LANGUAGE_TYPES[lang_needed]
test_passed = class_names.first.new(tmp_path, dirname).perform
code_quality = class_names.last.new(tmp_path, dirname).perform
[name_language(lang_needed), test_passed, code_quality]
end
|
.name_language(extname) ⇒ Object
21
22
23
|
# File 'lib/hw_checker/test_run_stat.rb', line 21
def self.name_language(extname)
extname == '.rb' ? 'ruby' : 'python'
end
|