class ChefCLI::PolicyfileServices::ShowPolicy
def display_single_policy
def display_single_policy report.h1(policy_name) rev_id_by_group = policy_lister.revision_ids_by_group_for(policy_name) if rev_id_by_group.empty? || rev_id_by_group.all? { |_k, rev| rev.nil? } ui.err("No policies named '#{policy_name}' are associated with a policy group") ui.err("") elsif show_summary_diff? unique_rev_ids = rev_id_by_group.unique_revision_ids revision_info = policy_lister.revision_info_for(policy_name, unique_rev_ids) ljust_size = rev_id_by_group.max_group_name_length + 2 cbs_with_differing_ids = revision_info.cbs_with_differing_ids rev_id_by_group.each do |group_name, rev_id| heading = "#{group_name}:".ljust(ljust_size) + shorten_rev_id(rev_id) report.h2(heading) differing_cbs_version_info = cbs_with_differing_ids.inject({}) do |cb_version_info, cb_name| version, identifier = revision_info.cb_info_for(rev_id, cb_name) cb_info_for_report = if !version.nil? "#{version} (#{shorten_rev_id(identifier)})" else "*NONE*" end cb_version_info[cb_name] = cb_info_for_report cb_version_info end report.table_list(differing_cbs_version_info) end else rev_ids_for_report = format_rev_ids_for_report(rev_id_by_group) report.table_list(rev_ids_for_report) end if show_orphans? orphans = policy_lister.orphaned_revisions(policy_name) unless orphans.empty? report.h2("Orphaned:") formatted_orphans = orphans.map { |id| shorten_rev_id(id) } report.list(formatted_orphans) end end end