Sha256: 04666aa2c85f946148f06a5b01a85e28c3ca557c8d2f0a0d1065f3a81b396a00

Contents?: true

Size: 1.21 KB

Versions: 5

Compression:

Stored size: 1.21 KB

Contents

module EnjuBookmark
  module BookmarkHelper
    def link_to_tag(tag)
      link_to tag, manifestations_path(:tag => tag.name)
    end

    def render_tag_cloud(tags, options = {})
      return nil if tags.nil?
      # TODO: add options to specify different limits and sorts
      #tags = Tag.all(:limit => 100, :order => 'taggings_count DESC').sort_by(&:name)

      # TODO: add option to specify which classes you want and overide this if you want?
      classes = %w(popular v-popular vv-popular vvv-popular vvvv-popular)

      max, min = 0, 0
      tags.each do |tag|
        #if options[:max] or options[:min]
        #  max = options[:max].to_i
        #  min = options[:min].to_i
        #end
        max = tag.taggings.size if tag.taggings.size > max
        min = tag.taggings.size if tag.taggings.size < min
      end
      divisor = ((max - min).div(classes.size)) + 1

      content_tag :div, :class => "hTagcloud" do
        content_tag :ul, :class => "popularity" do
          tags.each do |tag|
            content_tag :li do
              link_to(tag.name, manifestations_path(:tag => tag.name), :class => classes[(tag.taggings.size - min).div(divisor)])
            end
          end
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
enju_bookmark-0.1.1 lib/enju_bookmark/bookmark_helper.rb
enju_bookmark-0.1.0.pre lib/enju_bookmark/bookmark_helper.rb
enju_bookmark-0.1.0 lib/enju_bookmark/bookmark_helper.rb
enju_bookmark-0.0.22 lib/enju_bookmark/bookmark_helper.rb
enju_bookmark-0.0.21 lib/enju_bookmark/bookmark_helper.rb