hw_checker 1.3.47 → 1.3.48

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +8 -8
  2. data/lib/hw_checker/ruby_stat.rb +22 -18
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MzFkNTRjNTA5MDI3NGQ4MzE5M2U0YjFhYTY2Y2FkZTk3ZTA4MzhjOA==
4
+ OTg3MzhlZDRmZTg3MWQ3ODVhNmI2YzAzMzg1MWZlMGYxZGRmYTY5Ng==
5
5
  data.tar.gz: !binary |-
6
- NzJkOTY5YTM2ZTAzZGI4YzkyOTgzYzQzNzJlYzUyMzBiYTkwZTJiOA==
6
+ N2RhYzFlMGNlNmQ5ZDYwOTZlOGYzNWM3N2RhYzc3OTQ4MWU0NTllNA==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- OWQ4ZWU5OWMyZjEyMTljNWY2NjI3YmI0NzlhMTNkMjY2ZDcxNTk4YzQ3ODRi
10
- YzUxOTBiMWYxODUwMWMzODVkY2ZjODFiNWU1NDA2ZmNkNGM3YzVlMTQ5M2Mx
11
- ZDc0NDYyZWZhZmFlOTNkNjQ2MGQwMjJkZWI2MDc5ZTk4MjEyMjk=
9
+ NzgxZWZhY2E4Mjk5ZTZhNDA3ZTM0ZGI5MzczNjAzZTgxOWYyYjk0NDRmZTIw
10
+ N2U5ZTdkM2Q2NzcwNjFkNzkyOWM5OGNjMzY0MGYzZmU0MzdiYjE0YmQ5OWIw
11
+ ZGI0YTRjMjNmZTE4OTg2Njg4NjNhMWZjODE2YjIwYjU5YzUyZjU=
12
12
  data.tar.gz: !binary |-
13
- N2MzZTBkYjdhN2U5NTQ0OGM1ZTBkZDI4NWYxYmQxZTU3M2Y1OTAzYzA1ZjI4
14
- ZTJjMWE5OWRhYzEyMDFkZGExNjAxMjEyNmQ4MjdmN2U0YjA3ODZhMzM3NjZj
15
- MDI2M2YwZWIzY2M3NGJkNTZkYTQ5ZjQwYmQ0YTc4YTBmNzM3MWI=
13
+ ZGQ5OTA2YmExMDdlNDlkMGMxYmNiZWUxMWZiMDU0NGQ4MzI3Yjk2YjNiYTli
14
+ ZmIwZWM5YzdmZDcxMzI0ZmE3YmVkNGU1ZDkwZGI3OTc0OTgwMzI2YzFiMjE0
15
+ OTVlZWVmODIxN2I1MDk3YjYxM2FkYjIyMTU4MDFlMTNhNDI0NDY=
@@ -1,34 +1,38 @@
1
1
  module HomeWorkChecker
2
2
  module TestRunStat
3
- class RubyTestRun
3
+ class RubyStat
4
4
  def initialize(tmp_path, dirname)
5
- @work_path = "#{tmp_path}/#{dirname}/test"
6
- raise DirectoryExistError, "Archive '#{dirname}' is invalid" unless Dir::exist?(@work_path)
7
- @passed = @failed = 0
5
+ @work_path = "#{tmp_path}/#{dirname}"
6
+ raise DirectoryExistError, "Archive '#{dirname}' is invalid" unless Dir::exist?(@work_path)
7
+ @lines_all = @lines_failed = 0
8
8
  end
9
9
 
10
10
  def perform
11
11
  Dir.foreach(@work_path) do |p|
12
- next unless File.file?("#{@work_path}/#{p}") && File.extname(p) == '.rb'
13
- `rspec #{@work_path}/#{p} > #{@work_path}/#{p}.tmp`
14
- count_passed_failed("#{@work_path}/#{p}.tmp")
12
+ next unless File::file?("#{@work_path}/#{p}") && File.extname(p) == '.rb'
13
+ `rubocop #{@work_path}/#{p} > #{@work_path}/#{p}.tmp`
14
+ count_lines_failed("#{@work_path}/#{p}.tmp")
15
+ count_lines_all("#{@work_path}/#{p}")
15
16
  end
16
- calc_percent_passed
17
+ calc_percent_quality
17
18
  end
18
19
 
19
- private
20
- def count_passed_failed(filename)
21
- report = File.open(filename).first.chomp
22
- return if report == 'No examples found.'
23
- report.each_char do |value|
24
- @passed += 1 if value == '.'
25
- @failed += 1 if value == 'F'
20
+ def count_lines_failed(filename)
21
+ temp = []
22
+ File.open(filename).each_line do |line|
23
+ next unless line.match(/[CW]:\s+\d+:\s+[\w\W]{4,}/)
24
+ temp << line.scan(/\d+/).first.to_i
26
25
  end
26
+ @lines_failed += temp.uniq.size
27
27
  end
28
28
 
29
- def calc_percent_passed
30
- return 0.00 if @passed.zero? && @failed.zero?
31
- (@passed.to_f / (@passed + @failed) * 100).round(2)
29
+ def count_lines_all(filename)
30
+ File.open(filename).each_line { @lines_all += 1 }
31
+ end
32
+
33
+ def calc_percent_quality
34
+ return 0.00 if @lines_all.zero?
35
+ ( (1.0 - @lines_failed.to_f / @lines_all) * 100).round(2)
32
36
  end
33
37
  end
34
38
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hw_checker
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.47
4
+ version: 1.3.48
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lv-LAMP-085