Class: TagCloudMaker
- Inherits:
-
Object
- Object
- TagCloudMaker
- Defined in:
- lib/tRuTag.rb
Direct Known Subclasses
Class Method Summary collapse
- .about(div_id) ⇒ Object
- .addStyle(tag, count, phash) ⇒ Object
- .all_tags_rails_href(tag, count, phash) ⇒ Object
- .find_level(count) ⇒ Object
- .space_to_plus(input, space_replacement) ⇒ Object
- .tag(name, other) ⇒ Object
Class Method Details
.about(div_id) ⇒ Object
121 122 123 |
# File 'lib/tRuTag.rb', line 121 def TagCloudMaker.about(div_id) %{<div id="#{div_id}"><H2>About</H2>This page was created with the help of <a href="http://tRuTag.rubyforge.org">#{$agent}</a> an open source project created by <a href="mailto:jh[at]rubyyot[dot]com">Jamal Hansen</div>} end |
.addStyle(tag, count, phash) ⇒ Object
94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
# File 'lib/tRuTag.rb', line 94 def TagCloudMaker.addStyle(tag, count, phash) style = phash.fetch('style', 'cloud') case style when 'sun' %{<span class="level#{TagCloudMaker.find_level(count)}" style="position: absolute; left:#{Integer((rand*9) * (rand*9))}%; top:#{Integer((rand*10) * (rand*10))}%;">#{yield}</span> } when 'pile' %{<span class="level#{TagCloudMaker.find_level(count)}" style="position: absolute; left:#{Integer((rand*20) + (rand*20) + (rand*20) + (rand*20))}%; top:#{Integer((rand*20) + (rand*20) + (rand*20) + (rand*20) + (rand*20))}%;">#{yield}</span> } when 'pile' %{<span class="level#{TagCloudMaker.find_level(count)}" style="position: absolute; left:#{Integer((rand*20) + (rand*20) + (rand*20) + (rand*20))}%; top:#{Integer((rand*20) + (rand*20) + (rand*20) + (rand*20) + (rand*20))}%;">#{yield}</span> } else %{<span class="level#{TagCloudMaker.find_level(count)}">#{yield}</span> } end end |
.all_tags_rails_href(tag, count, phash) ⇒ Object
86 87 88 89 90 91 92 |
# File 'lib/tRuTag.rb', line 86 def TagCloudMaker.(tag, count, phash) if phash.has_key?(:url) addStyle(tag, count, phash) {%{<a href="#{phash[:url]}/#{phash[:controller]}/#{phash[:action]}/#{CGI.escapeElement(tag)}" title="#{tag} : #{count} tag(s)" rel="tag">#{tag}</a>}} else addStyle(tag, count, phash) {%{<a href="##{tag}" onclick="go('#{tag}')" title="#{tag} : #{count} tag(s)">#{tag}</a>}} end end |
.find_level(count) ⇒ Object
109 110 111 112 113 114 115 |
# File 'lib/tRuTag.rb', line 109 def TagCloudMaker.find_level(count) out = Integer(count)./($css_level_ratio) if out > $css_level_max out = $css_level_max end String (out) end |
.space_to_plus(input, space_replacement) ⇒ Object
117 118 119 |
# File 'lib/tRuTag.rb', line 117 def TagCloudMaker.space_to_plus(input, space_replacement) input.gsub(/ /, space_replacement) end |
.tag(name, other) ⇒ Object
82 83 84 |
# File 'lib/tRuTag.rb', line 82 def TagCloudMaker.tag(name, other) %{<#{name}#{other}>#{yield}</#{name}>} end |