class DTK::Client::Operation::Service::TaskStatus::StreamMode::Element::HierarchicalTask::Results
Constants
- ErrorRenderOpts
- RenderAttrNameOpts
- RenderAttrValOpts
Attributes
errors[R]
info[R]
Public Class Methods
new(element, hash)
click to toggle source
Calls superclass method
# File lib/client/operation/service/task_status/stream_mode/element/hierarchical_task/result.rb, line 25 def initialize(element, hash) super @errors = hash['errors'] || [] @info = hash['info'] || [] @action_results = hash['action_results'] || [] end
render(element, stage_subtasks)
click to toggle source
# File lib/client/operation/service/task_status/stream_mode/element/hierarchical_task/result.rb, line 37 def self.render(element, stage_subtasks) results_per_node = base_subtasks(element, stage_subtasks) return if results_per_node.empty? # assumption is that if multipe results_per_node they are same type results_per_node.first.render_results(results_per_node) end
Public Instance Methods
action_results()
click to toggle source
This can be over-written
# File lib/client/operation/service/task_status/stream_mode/element/hierarchical_task/result.rb, line 33 def action_results [] end
Protected Instance Methods
render_dynamic_attrs(dynamic_attrs)
click to toggle source
# File lib/client/operation/service/task_status/stream_mode/element/hierarchical_task/result.rb, line 124 def render_dynamic_attrs(dynamic_attrs) dynamic_attrs.each do |name, opts| next unless opts['value'] out = opts['value'] if disp_form = opts['display_format'] out = case disp_form when 'yaml' out.to_yaml when 'json' out.to_json end end render_output_line(name + ':', out) render_empty_line end end
render_error_line(line, opts = {})
click to toggle source
# File lib/client/operation/service/task_status/stream_mode/element/hierarchical_task/result.rb, line 143 def render_error_line(line, opts = {}) render_line(line, ErrorRenderOpts.merge(opts)) end
render_errors(results_per_node)
click to toggle source
# File lib/client/operation/service/task_status/stream_mode/element/hierarchical_task/result.rb, line 50 def render_errors(results_per_node) return unless results_per_node.find do |result| not result.errors.empty? end first_time = true results_per_node.each do |result| if first_time render_line 'ERRORS:' first_time = false end result.render_node_errors end end
render_info(results_per_node)
click to toggle source
# File lib/client/operation/service/task_status/stream_mode/element/hierarchical_task/result.rb, line 64 def render_info(results_per_node) return unless results_per_node.find do |result| not result.info.empty? and result.errors.empty? end # { |result| not result.errors.empty?} first_time = true results_per_node.each do |result| if first_time render_line 'INFO:' first_time = false end result.render_node_info end end
render_info_line(line, opts = {})
click to toggle source
# File lib/client/operation/service/task_status/stream_mode/element/hierarchical_task/result.rb, line 147 def render_info_line(line, opts = {}) render_line(line) end
render_node_errors()
click to toggle source
# File lib/client/operation/service/task_status/stream_mode/element/hierarchical_task/result.rb, line 93 def render_node_errors return if @errors.empty? render_node_term @errors.each do |error| if err_msg = error['message'] render_error_line err_msg render_empty_line end end end
render_node_info()
click to toggle source
# File lib/client/operation/service/task_status/stream_mode/element/hierarchical_task/result.rb, line 104 def render_node_info return if @info.empty? || !@errors.empty? @info.each do |info| if err_msg = info[1] #err_msg.colorize(:yellow) render_info_line err_msg render_empty_line end end end
render_node_output()
click to toggle source
# File lib/client/operation/service/task_status/stream_mode/element/hierarchical_task/result.rb, line 115 def render_node_output return if @action_results.empty? @action_results.each do |output| if dynamic_attrs = output['dynamic_attributes'] render_dynamic_attrs(dynamic_attrs) end end end
render_output(results_per_node)
click to toggle source
# File lib/client/operation/service/task_status/stream_mode/element/hierarchical_task/result.rb, line 79 def render_output(results_per_node) return unless results_per_node.find do |result| not result.action_results.empty? end first_time = true results_per_node.each do |result| if first_time render_line 'OUTPUT:' first_time = false end result.render_node_output end end
render_output_line(attr_name, attr_value)
click to toggle source
# File lib/client/operation/service/task_status/stream_mode/element/hierarchical_task/result.rb, line 151 def render_output_line(attr_name, attr_value) render_line attr_name, RenderAttrNameOpts render_line attr_value, RenderAttrValOpts end