File: app/helpers/admin/references_helper.rb

Overview
Module Structure
Code

Overview

Module Structure

  module: <Toplevel Module>
  module: Admin
  module: ReferencesHelper#3
has properties
method: tag_reference #4
method: filter_reference #16
method: _display_name #28
method: filter #37
method: class_of_page #43

Code

   1  require "RedCloth"
   2 
   3  module Admin::ReferencesHelper
   4    def tag_reference
   5      String.new.tap do |output|
   6        class_of_page.tag_descriptions.sort.each do |tag_name, description|
   7          value = t("desc.#{tag_name.gsub(':','-')}").match('desc') ? description : t("desc.#{tag_name.gsub(':','-')}")
   8          output << render(:partial => "admin/references/tag_reference.haml",
   9              :locals => {:tag_name => tag_name,
  10                          :description =>  RedCloth.new(Radiant::Taggable::Util.strip_leading_whitespace(value)).to_html
  11                         })
  12        end
  13      end
  14    end
  15 
  16    def filter_reference
  17      unless filter.blank?
  18        if filter.description.blank?
  19          "There is no documentation on this filter."
  20        else
  21          filter.description
  22        end
  23      else
  24        "There is no filter on the current page part."
  25      end
  26    end
  27 
  28    def _display_name
  29      case params[:type]
  30      when 'filters'
  31        filter ? filter.filter_name : t('select.none')
  32      when 'tags'
  33        class_of_page.display_name
  34      end
  35    end
  36 
  37    def filter
  38      @filter ||= begin
  39        TextFilter.find_descendant(params[:filter_name])
  40      end
  41    end
  42 
  43    def class_of_page
  44      @page_class ||= (params[:class_name].blank? ? 'Page' : params[:class_name]).constantize
  45    end
  46  end