class HaveAPI::Fs::Components::ActionOutput
Attributes
action_dir[R]
data[RW]
Public Class Methods
new(action_dir, *args)
click to toggle source
Calls superclass method
# File lib/haveapi/fs/components/action_output.rb, line 7 def initialize(action_dir, *args) super(*args) @action_dir = action_dir if %i(hash_list object_list).include?(@action_dir.action.output_layout.to_sym) @list = true end end
Public Instance Methods
contents()
click to toggle source
Calls superclass method
# File lib/haveapi/fs/components/action_output.rb, line 17 def contents ret = super return ret unless @data if @list ret.concat(@data.map { |v| v.id.to_s }) else ret.concat(parameters.keys.map(&:to_s)) end ret end
parameters()
click to toggle source
# File lib/haveapi/fs/components/action_output.rb, line 32 def parameters @action_dir.action.params end
title()
click to toggle source
# File lib/haveapi/fs/components/action_output.rb, line 36 def title 'Output parameters' end
Protected Instance Methods
new_child(name)
click to toggle source
Calls superclass method
# File lib/haveapi/fs/components/action_output.rb, line 41 def new_child(name) if child = super child elsif !@data nil elsif @list id = name.to_s.to_i if @data.is_a?(HaveAPI::Client::ResourceInstanceList) param = @data.detect { |v| v.id == id } [ResourceInstanceDir, param] else param = @data.response.detect { |v| v[:id] == id } [ListItem, @action_dir.action, :output, param] end elsif parameters.has_key?(name) [ Parameter, @action_dir.action, name, :output, @data, ] else nil end end