hw_checker 1.3.47 → 1.3.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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