finished tag clouds
This commit is contained in:
		
							parent
							
								
									af4865ceb7
								
							
						
					
					
						commit
						7e3b59c09a
					
				|  | @ -14,16 +14,34 @@ class Tag | ||||||
|     for_now = {:start_at=>20.days.ago,:end_at=>Time.now} |     for_now = {:start_at=>20.days.ago,:end_at=>Time.now} | ||||||
|     for_yesterday = {:start_at=>19.days.ago,:end_at=>1.days.ago} |     for_yesterday = {:start_at=>19.days.ago,:end_at=>1.days.ago} | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|     range = self.class.all.collect{ |tag| |     range = self.class.all.collect{ |tag| | ||||||
|       get_impressionist_diff(tag) |       get_impressionist_diff(tag) | ||||||
|     } |     } | ||||||
|     (get_impressionist_diff - range.min).abs |     range.sort!.reverse!.uniq! | ||||||
|  |     offset_size = range.size+4 | ||||||
|  |     section_3 =  range.last..range[-(offset_size/4)] | ||||||
|  |     section_2 =  range[-(offset_size/4)-1]..range[-2*(offset_size/4)] rescue nil | ||||||
|  |     section_1 =  range[-2*(offset_size/4)-1]..range[1]  rescue nil | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     case get_impressionist_diff | ||||||
|  |     when range.first | ||||||
|  |       return :heading1 | ||||||
|  |     when section_1 | ||||||
|  |       return :heading2 | ||||||
|  |     when section_2 | ||||||
|  |       return :heading3 | ||||||
|  |     when section_3 | ||||||
|  |       return :heading4 | ||||||
|  |     end | ||||||
|  |      | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
| protected | protected | ||||||
|   def get_impressionist_diff(item_tag = self) |   def get_impressionist_diff(item_tag = self) | ||||||
|       for_now = item_tag.impressionist_count(:start_date=>20.days.ago,:end_date=>Time.now) |       for_now = item_tag.impressions.where(:created_at.gte=> 20.days.ago,:created_at.lte => Time.now).count | ||||||
|       for_yesterday = item_tag.impressionist_count(:start_date=>21.days.ago,:end_date=>1.days.ago) |       for_yesterday = item_tag.impressions.where(:created_at.gte=> 21.days.ago,:created_at.lte => 1.days.ago).count | ||||||
|       for_now - for_yesterday |       for_now - for_yesterday | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -14,5 +14,5 @@ Redis::Search.configure do |config| | ||||||
|   # use rmmseg, true to disable it, it can save memroy |   # use rmmseg, true to disable it, it can save memroy | ||||||
|   config.disable_rmmseg = false |   config.disable_rmmseg = false | ||||||
| end | end | ||||||
| Bulletin.new | # Bulletin.new | ||||||
| NewsBulletin.new | # NewsBulletin.new | ||||||
|  | @ -8,4 +8,40 @@ namespace :matt_dev do | ||||||
|     p a |     p a | ||||||
|     # p Pinyin.t('台灣不是中國的一部分') |     # p Pinyin.t('台灣不是中國的一部分') | ||||||
|   end |   end | ||||||
|  | 
 | ||||||
|  |   task  :testing_new_tag_cal do | ||||||
|  |   ranges = [[1],[1,2],[1,2,3],[1,2,3,4],[1,2,3,4,5],[1,2,3,4,5,6],[1,2,3,4,5,6,7],[1,2,3,4,5,6,7,8],[1,2,3,4,5,6,7,8,9],[1,2,3,4,5,6,7,8,9,10],[1,2,3,4,5,6,7,8,9,10,11],[1,2,3,4,5,6,7,8,9,10,11,12],[-1,-2,-3,-4,5,6,7,8,9,10,11,12]] | ||||||
|  | 
 | ||||||
|  |   ranges.each{ |range| | ||||||
|  |     cal(range) | ||||||
|  |   } | ||||||
|  |   end | ||||||
|  | def cal(range_t) | ||||||
|  |       range = range_t.sort.reverse | ||||||
|  |       puts '='*20 | ||||||
|  |       puts range.to_s | ||||||
|  |       puts '='*20 | ||||||
|  |       offset_size = range.size+4 | ||||||
|  |         section_3 =  range.last..range[-(offset_size/4)] | ||||||
|  |       puts(section_3) | ||||||
|  |         section_2 =  range[-(offset_size/4)-1]..range[-2*(offset_size/4)] rescue nil | ||||||
|  |       puts(section_2) | ||||||
|  |         section_1 =  range[-2*(offset_size/4)-1]..range[1]  rescue nil | ||||||
|  |       puts(section_1) | ||||||
|  |        | ||||||
|  |       range.each{|num|  | ||||||
|  |         result= case num | ||||||
|  |           when range.first | ||||||
|  |             :heading1 | ||||||
|  |           when section_1 | ||||||
|  |             :heading2 | ||||||
|  |           when section_2 | ||||||
|  |             :heading3 | ||||||
|  |           when section_3 | ||||||
|  |             :heading4 | ||||||
|  |           end | ||||||
|  |         puts "Num:#{num}   Result: #{result}" | ||||||
|  |       }  | ||||||
|  |       puts("END") | ||||||
|  |     end | ||||||
| end | end | ||||||
|  |  | ||||||
|  | @ -13,7 +13,7 @@ | ||||||
| 	<h3 class="h3"><%= t('announcement.tag_cloud') %></h3> 								 | 	<h3 class="h3"><%= t('announcement.tag_cloud') %></h3> 								 | ||||||
| 	<div class="cloud"> 		 | 	<div class="cloud"> 		 | ||||||
| 		<% @tags.each do |tag| %>	 | 		<% @tags.each do |tag| %>	 | ||||||
| 			<%= link_to tag[I18n.locale], panel_announcement_front_end_bulletins_path(:tag_id => tag.id), :class => "hot#{rand(4) + 1} #{(tag.id.to_s.eql?(params[:tag_id]) || tag.key.eql?(params[:tag_id])) ? 'active' : nil}" %> | 			<%= link_to tag[I18n.locale], panel_announcement_front_end_bulletins_path(:tag_id => tag.id), :class => "#{tag.cloud_amper} hot#{rand(4) + 1} #{(tag.id.to_s.eql?(params[:tag_id]) || tag.key.eql?(params[:tag_id])) ? 'active' : nil} " %> | ||||||
| 		<% end %> | 		<% end %> | ||||||
| 	</div> 							 | 	</div> 							 | ||||||
| </div> 							 | </div> 							 | ||||||
|  |  | ||||||
|  | @ -13,7 +13,7 @@ | ||||||
| 	<h3 class="h3"><%= t('announcement.tag_cloud') %></h3> 								 | 	<h3 class="h3"><%= t('announcement.tag_cloud') %></h3> 								 | ||||||
| 	<div class="cloud"> 		 | 	<div class="cloud"> 		 | ||||||
| 		<% @tags.each do |tag| %>	 | 		<% @tags.each do |tag| %>	 | ||||||
| 			<%= link_to tag[I18n.locale], panel_news_front_end_news_bulletins_path(:tag_id => tag.id),:class => "hot#{rand(4) + 1} #{(tag.id.to_s.eql?(params[:tag_id]) || tag.key.eql?(params[:tag_id])) ? 'active' : nil}" %> | 			<%= link_to tag[I18n.locale], panel_news_front_end_news_bulletins_path(:tag_id => tag.id),:class => "#{tag.cloud_amper} hot#{rand(4) + 1} #{(tag.id.to_s.eql?(params[:tag_id]) || tag.key.eql?(params[:tag_id])) ? 'active' : nil} " %> | ||||||
| 		<% end %>	 | 		<% end %>	 | ||||||
| 	</div> 							 | 	</div> 							 | ||||||
| </div> 							 | </div> 							 | ||||||
|  |  | ||||||
		Reference in New Issue