Class: Wellness::Report
- Inherits:
-
Object
- Object
- Wellness::Report
- Defined in:
- lib/wellness/report.rb
Overview
A simple presenter for the services and details of the Wellness System.
Instance Method Summary collapse
- #detailed ⇒ Hash
- #details ⇒ Object
- #healthy? ⇒ TrueClass, FalseClass
-
#initialize(services, details) ⇒ Report
constructor
A new instance of Report.
- #services ⇒ Object
- #simple ⇒ Hash
- #status ⇒ String
- #status_code ⇒ Integer
-
#to_json ⇒ String
Returns the #detailed hash in json form.
Constructor Details
#initialize(services, details) ⇒ Report
Returns a new instance of Report.
8 9 10 11 |
# File 'lib/wellness/report.rb', line 8 def initialize(services, details) @services = services @details = details end |
Instance Method Details
#detailed ⇒ Hash
14 15 16 17 18 19 20 |
# File 'lib/wellness/report.rb', line 14 def detailed { status: status, services: services, details: details } end |
#details ⇒ Object
55 56 57 |
# File 'lib/wellness/report.rb', line 55 def details Hash[@details.map { |d| [d.name, d.result] }] end |
#healthy? ⇒ TrueClass, FalseClass
47 48 49 |
# File 'lib/wellness/report.rb', line 47 def healthy? @services.all?(&:healthy?) end |
#services ⇒ Object
51 52 53 |
# File 'lib/wellness/report.rb', line 51 def services Hash[@services.map { |s| [s.name, s.result] }] end |
#simple ⇒ Hash
23 24 25 26 27 |
# File 'lib/wellness/report.rb', line 23 def simple { status: status } end |
#status ⇒ String
37 38 39 |
# File 'lib/wellness/report.rb', line 37 def status healthy? ? 'HEALTHY' : 'UNHEALTHY' end |
#status_code ⇒ Integer
42 43 44 |
# File 'lib/wellness/report.rb', line 42 def status_code healthy? ? 200 : 500 end |
#to_json ⇒ String
Returns the #detailed hash in json form
32 33 34 |
# File 'lib/wellness/report.rb', line 32 def to_json(*) detailed.to_json end |