class Chef::Knife::VcOrgShow

Public Instance Methods

run() click to toggle source
# File lib/chef/knife/org/vc_org_show.rb, line 26
def run
  $stdout.sync = true

  org = locate_org_option

  connection.login

  header = [
      ui.color('Name', :bold),
      ui.color('ID', :bold)
  ]

  organization = connection.get_organization_by_name org

  connection.logout

  list = ["#{ui.color('CATALOGS', :cyan)}", '']
  list << header
  list.flatten!
  sort_by_key(organization[:catalogs]).each do |k, v|
    list << (k || '')
    list << (v || '')
  end

  list << ['', '', "#{ui.color('VDCs', :cyan)}", '']
  list << header
  list.flatten!
  sort_by_key(organization[:vdcs]).each do |k, v|
    list << (k || '')
    list << (v || '')
  end

  list << ['', '', "#{ui.color('NETWORKS', :cyan)}", '']
  list << header
  list.flatten!
  sort_by_key(organization[:networks]).each do |k, v|
    list << (k || '')
    list << (v || '')
  end

  list << ['', '', "#{ui.color('TASKLISTS', :cyan)}", '']
  list << header
  list.flatten!
  sort_by_key(organization[:tasklists]).each do |k, v|
    list << (k || '<unnamed list>')
    list << (v || '')
  end

  ui.msg ui.list(list, :columns_across, 2)
end