app/views/topics/related_items_for_topics/_generic_items.html.haml

Summary

Maintainability
Test Coverage
-if related_items.empty?
  - visible_class = "no-items"
-else
  - visible_class = "related-items-section"

- item_class = item_type.singularize.camelize
- related_to_path = basket_search_related_to_path({related_item_id: @topic.id, related_item_type: 'Topic', controller_name_for_zoom_class: item_class, urlified_name: @topic.basket.urlified_name})

%div{ id: "detail-linked-#{item_type}", class: visible_class }
  %h4
    %a.small{ href: related_to_path }
      = "#{item_type.titleize} (#{related_items.count})"
      %img.expand_collapse_image{ alt: "Related_items_collapsed", src: "/assets/related_items_collapsed.gif?1323654851" }/
  %hr/

  %ul
    - last_five_related_items = related_items.last(5).reverse
    - last_five_related_items.each do |related_item|
      %li
        %a{ href: url_for([related_item.basket, related_item]) }
          = related_item.title

    - if related_items.count > 5
      - overflow = related_items.count - 5
      %li.more
        %a.small{ href: related_to_path }= "#{overflow} more like this >>".html_safe