Class: DTK::Client::TaskStatus::StreamMode::Element::HierarchicalTask::Steps::Components

Inherits:
DTK::Client::TaskStatus::StreamMode::Element::HierarchicalTask::Steps show all
Defined in:
lib/task_status/stream_mode/element/hierarchical_task/steps/components.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from DTK::Client::TaskStatus::StreamMode::Element::HierarchicalTask

render_results, render_steps

Constructor Details

#initialize(element, hash) ⇒ Components

Returns a new instance of Components.



21
22
23
24
# File 'lib/task_status/stream_mode/element/hierarchical_task/steps/components.rb', line 21

def initialize(element, hash)
  super
  @component_names = (hash['components'] || []).map { |cmp| cmp['name'] }.compact
end

Instance Attribute Details

#component_namesObject (readonly)

Returns the value of attribute component_names.



26
27
28
# File 'lib/task_status/stream_mode/element/hierarchical_task/steps/components.rb', line 26

def component_names
  @component_names
end

Instance Method Details

#component_term(component_name) ⇒ Object



42
43
44
45
46
47
48
49
# File 'lib/task_status/stream_mode/element/hierarchical_task/steps/components.rb', line 42

def component_term(component_name)
  ret = ''
  if node_term = node_term?
    ret << "#{node_term}/"
  end
  ret << component_name
  ret
end

#render_steps(steps) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/task_status/stream_mode/element/hierarchical_task/steps/components.rb', line 28

def render_steps(steps)
  step = steps.first
  if steps.size ==  1 and step.component_names.size == 1 
    render_line "COMPONENT: #{step.component_term(step.component_names.first)}"
  else
    render_line 'COMPONENTS:'
    steps.each do |step| 
      step.component_names.each do |component_name|
        render_line  step.component_term(component_name), :tabs => 1
      end
    end
  end
end