def render_source_info
      parts = []

      if self.source_title.present?
        parts << _h.content_tag("span", I18n.t("bento_search.published_in"), :class=> "source_label")
        parts << _h.content_tag("span", self.source_title, :class => "source_title")
        parts << ". "
      elsif self.publisher.present?
        parts << _h.content_tag("span", self.publisher, :class => "publisher")
        parts << ". "
      end

      if text = self.render_citation_details
        parts << text << "."
      end

      return _h.safe_join(parts, "")
    end
def render_source_info
      parts = []

      if self.source_title.present?
        parts << _h.content_tag("span", I18n.t("bento_search.published_in"), :class=> "source_label")
        parts << _h.content_tag("span", self.source_title, :class => "source_title")
        parts << ". "
      elsif self.publisher.present?
        parts << _h.content_tag("span", self.publisher, :class => "publisher")
        parts << ". "
      end

      if text = self.render_citation_details
        parts << text << "."
      end

      return _h.safe_join(parts, "")
    end
Returns source publication name OR publisher, along with volume/issue/pages
 if present, all wrapped in various tags and labels. Returns html_safe
 with tags.

 Experiment to do this in a decorator helper instead of a partial template,
 might be more convenient we think.