Class: HammerCLIForeman::Output::Formatters::ReferenceFormatter

Inherits:
HammerCLI::Output::Formatters::FieldFormatter
  • Object
show all
Defined in:
lib/hammer_cli_foreman/output/formatters.rb

Instance Method Summary collapse

Instance Method Details

#format(reference, field_params = {}) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/hammer_cli_foreman/output/formatters.rb', line 37

def format(reference, field_params={})
  return "" if reference.nil? || reference == ""

  id_key = field_params[:id_key] || :id
  name_key = field_params[:name_key] || :name

  name = reference[name_key] || reference[name_key.to_s]
  id = reference[id_key] || reference[id_key.to_s]

  context = field_params[:context] || {}

  details = field_params[:details] || []
  details = [details] unless details.is_a? Array
  values = details.collect do |key|
    reference[key] || reference[key.to_s]
  end
  values << "id: #{id}" if context[:show_ids]

  if values.empty?
    "#{name}" if name
  else
    "#{name} (#{values.join(', ')})" if name && !values.empty?
  end
end

#tagsObject



33
34
35
# File 'lib/hammer_cli_foreman/output/formatters.rb', line 33

def tags
  [:flat]
end