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