Module: KubeDeployTools::DeferredSummaryLogging
- Included in:
- FormattedLogger
- Defined in:
- lib/kube_deploy_tools/deferred_summary_logging.rb
Overview
Adds the methods to your Logger class. These methods include helpers for logging consistent headings, as well as facilities for displaying key information later, in a summary section, rather than when it occurred.
Defined Under Namespace
Classes: DeferredSummary
Instance Attribute Summary collapse
-
#summary ⇒ Object
readonly
Returns the value of attribute summary.
Instance Method Summary collapse
- #blank_line(level = :info) ⇒ Object
- #heading(text, secondary_msg = '', secondary_msg_color = :cyan) ⇒ Object
- #initialize(*args) ⇒ Object
- #phase_heading(phase_name) ⇒ Object
-
#print_summary(success) ⇒ Object
Outputs the deferred summary information saved via @logger.summary.add_paragraph.
- #reset ⇒ Object
Instance Attribute Details
#summary ⇒ Object (readonly)
Returns the value of attribute summary.
8 9 10 |
# File 'lib/kube_deploy_tools/deferred_summary_logging.rb', line 8 def summary @summary end |
Instance Method Details
#blank_line(level = :info) ⇒ Object
19 20 21 |
# File 'lib/kube_deploy_tools/deferred_summary_logging.rb', line 19 def blank_line(level = :info) public_send(level, "") end |
#heading(text, secondary_msg = '', secondary_msg_color = :cyan) ⇒ Object
28 29 30 31 32 33 34 35 |
# File 'lib/kube_deploy_tools/deferred_summary_logging.rb', line 28 def heading(text, secondary_msg = '', secondary_msg_color = :cyan) padding = (100.0 - (text.length + secondary_msg.length)) / 2 blank_line part1 = ColorizedString.new("#{'-' * padding.floor}#{text}").cyan part2 = ColorizedString.new(secondary_msg).colorize(secondary_msg_color) part3 = ColorizedString.new('-' * padding.ceil).cyan info(part1 + part2 + part3) end |
#initialize(*args) ⇒ Object
9 10 11 12 |
# File 'lib/kube_deploy_tools/deferred_summary_logging.rb', line 9 def initialize(*args) reset super end |
#phase_heading(phase_name) ⇒ Object
23 24 25 26 |
# File 'lib/kube_deploy_tools/deferred_summary_logging.rb', line 23 def phase_heading(phase_name) @current_phase += 1 heading("Phase #{@current_phase}: #{phase_name}") end |
#print_summary(success) ⇒ Object
Outputs the deferred summary information saved via @logger.summary.add_paragraph
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/kube_deploy_tools/deferred_summary_logging.rb', line 38 def print_summary(success) if success heading("Result: ", "SUCCESS", :green) level = :info else heading("Result: ", "FAILURE", :red) level = :fatal end summary.paragraphs.each do |para| blank_line(level) msg_lines = para.split("\n") msg_lines.each { |line| public_send(level, line) } end end |
#reset ⇒ Object
14 15 16 17 |
# File 'lib/kube_deploy_tools/deferred_summary_logging.rb', line 14 def reset @summary = DeferredSummary.new @current_phase = 0 end |