hospital 0.7.4 → 0.7.6

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3ab764f421c7160201af9e785c00b3e3d4169199a921a03a295f5e694f1eb13c
4
- data.tar.gz: 8aa64d6b14b30149df786c8f1c00b027a4ec1ee741d37e7fa597da02e23a1bce
3
+ metadata.gz: 8b4927c717e9c21b556b969a7c054b8dc2fb7c1768f596ea165a1fdc11b01b0e
4
+ data.tar.gz: 56288eeb2c42af27a748df19c04ec5d10e128dea783e8b1ebd7e485227cd1deb
5
5
  SHA512:
6
- metadata.gz: 63229fb186f76c3c73bce046be58ab68d0f5a3a3526189e902992ebae073fd915aa16b7e01054806db9f7bc2a3fb08a791aa4aadba1b72f55b8afa23fe3e6245
7
- data.tar.gz: ea6b28da799c06aa01b271e475449fa61e8bed3cef01f60fe9f68f8707bbaacfb15075075bf917451a47ed923723469468ff1c1dd6586f2f24fbc7f0ac32fd2f
6
+ metadata.gz: 003bca350b48af6b35dd72cca0ea20199c9053a9358a167947dcd4fd85bf0d481e94fb3622a4b0e00ee712d78eb1141cc34bd3b1b814389f0b32eb1ea2d354b7
7
+ data.tar.gz: 074d28beabbe6a07844af549e96b39ec223e612793bc87e99dd2a32bc637012eb9cc127a04822197febf66e778272eb6afdca5e830651949246cbc4447d78983
@@ -1,11 +1,13 @@
1
1
  module Hospital
2
2
  module Formatter
3
3
  class Base
4
- attr_reader :buffer
5
-
6
4
  def initialize
7
5
  @buffer = ""
8
6
  end
7
+
8
+ def result
9
+ @buffer
10
+ end
9
11
  end
10
12
  end
11
13
  end
@@ -0,0 +1,44 @@
1
+ require_relative "base"
2
+
3
+ using StringFormatter
4
+
5
+ module Hospital
6
+ module Formatter
7
+ class Hash < Base
8
+
9
+ def initialize
10
+ @data = {}
11
+ @current_group = nil
12
+ @current_diagnosis = nil
13
+ end
14
+
15
+ def put_group_header text
16
+ @current_group = text
17
+ end
18
+
19
+ def put_diagnosis_header text
20
+ @current_diagnosis = text
21
+ end
22
+
23
+ def put_diagnosis_skipped text
24
+ end
25
+
26
+ def put_summary errors_count, warnings_count
27
+ @data['summary'] = {
28
+ 'errors' => errors_count,
29
+ 'warnings' => warnings_count
30
+ }
31
+ end
32
+
33
+ def put_diagnosis_result text
34
+ @data[@current_group] ||= {}
35
+ @data[@current_group][@current_diagnosis] ||= []
36
+ @data[@current_group][@current_diagnosis] << text
37
+ end
38
+
39
+ def result
40
+ @data
41
+ end
42
+ end
43
+ end
44
+ end
@@ -5,12 +5,16 @@ using StringFormatter
5
5
  module Hospital
6
6
  module Formatter
7
7
  class Pre < Base
8
- def put_group_header text
8
+ def put_group_headeresult
9
9
  @buffer << "\n\n### #{text}"
10
10
  end
11
11
 
12
12
  def put_diagnosis_header text
13
- @buffer << "\n\n## #{text}"
13
+ @buffer << "\n\n## Checking #{text}"
14
+ end
15
+
16
+ def put_diagnosis_skipped text
17
+ @buffer << "\n\n## Skipped #{text}"
14
18
  end
15
19
 
16
20
  def put_summary errors_count, warnings_count
@@ -10,7 +10,11 @@ module Hospital
10
10
  end
11
11
 
12
12
  def put_diagnosis_header text
13
- @buffer << "\n#{text.h2.indented}"
13
+ @buffer << "\nChecking #{text.h2.indented}"
14
+ end
15
+
16
+ def put_diagnosis_skipped text
17
+ @buffer << "\nSkipped #{text.h2.indented}"
14
18
  end
15
19
 
16
20
  def put_summary errors_count, warnings_count
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Hospital
4
- VERSION = "0.7.4"
4
+ VERSION = "0.7.6"
5
5
  end
data/lib/hospital.rb CHANGED
@@ -7,6 +7,7 @@ require_relative "hospital/diagnosis"
7
7
  require_relative "hospital/string_formatter"
8
8
  require_relative "hospital/formatter/shell"
9
9
  require_relative "hospital/formatter/pre"
10
+ require_relative "hospital/formatter/hash"
10
11
 
11
12
  using StringFormatter
12
13
 
@@ -63,8 +64,9 @@ module Hospital
63
64
  def initialize verbose: false, formatter: :shell
64
65
  @verbose = verbose
65
66
  @formatter = case formatter
66
- when :pre then Formatter::Pre
67
- else Formatter::Shell
67
+ when :pre then Formatter::Pre
68
+ when :hash then Formatter::Hash
69
+ else Formatter::Shell
68
70
  end
69
71
 
70
72
  @out = @formatter.new
@@ -85,10 +87,10 @@ module Hospital
85
87
  warcount += diagnosis.warnings.count
86
88
 
87
89
  if !checkup.skipped && (!checkup.group.skipped || checkup.precondition)
88
- @out.put_diagnosis_header "Checking #{diagnosis.name}:"
90
+ @out.put_diagnosis_header "#{diagnosis.name}:"
89
91
  diagnosis.put_results @out
90
92
  elsif verbose
91
- @out.put_diagnosis_header "Skipped #{diagnosis.name}."
93
+ @out.put_diagnosis_skipped "Skipped #{diagnosis.name}."
92
94
  end
93
95
  end
94
96
  end
@@ -96,7 +98,7 @@ module Hospital
96
98
 
97
99
  @out.put_summary errcount, warcount
98
100
 
99
- @out.buffer
101
+ @out.result
100
102
  end
101
103
  end
102
104
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hospital
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.4
4
+ version: 0.7.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-05-12 00:00:00.000000000 Z
11
+ date: 2025-03-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: require_all
@@ -39,6 +39,7 @@ files:
39
39
  - lib/hospital/checkup_group.rb
40
40
  - lib/hospital/diagnosis.rb
41
41
  - lib/hospital/formatter/base.rb
42
+ - lib/hospital/formatter/hash.rb
42
43
  - lib/hospital/formatter/pre.rb
43
44
  - lib/hospital/formatter/shell.rb
44
45
  - lib/hospital/string_formatter.rb