change the algorithm of tag cloud.
This commit is contained in:
		
							parent
							
								
									acebec8904
								
							
						
					
					
						commit
						ee5ac0227e
					
				|  | @ -11,38 +11,36 @@ class Tag | ||||||
|   belongs_to :module_app |   belongs_to :module_app | ||||||
|    |    | ||||||
|   def cloud_amper |   def cloud_amper | ||||||
|     for_now = {:start_at=>20.days.ago,:end_at=>Time.now} |     for_now = {:start_at=>14.days.ago,:end_at=>Time.now} | ||||||
|     for_yesterday = {:start_at=>19.days.ago,:end_at=>1.days.ago} |     for_yesterday = {:start_at=>15.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(tag) | ||||||
|     } |     } | ||||||
|     range.sort!.reverse!.uniq! |     range.sort!.reverse!.uniq! | ||||||
|     offset_size = range.size+4 |     offset_size = range.size+4 | ||||||
|     section_3 =  range.last..range[-(offset_size/4)] |     section_3 =  range.first..range[(offset_size/4)] | ||||||
|     section_2 =  range[-(offset_size/4)-1]..range[-2*(offset_size/4)] rescue nil |     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 |     section_1 =  range[2*(offset_size/4)+1]..last  rescue nil | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|     case get_impressionist_diff |     case get_impressionist | ||||||
|     when range.first |     when range.first | ||||||
|       return :heading1 |       return :hot1 | ||||||
|     when section_1 |     when section_1 | ||||||
|       return :heading2 |       return :hot2 | ||||||
|     when section_2 |     when section_2 | ||||||
|       return :heading3 |       return :hot3 | ||||||
|     when section_3 |     when section_3 | ||||||
|       return :heading4 |       return :hot4 | ||||||
|     end |     end | ||||||
|      |      | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
| protected | protected | ||||||
|   def get_impressionist_diff(item_tag = self) |   def get_impressionist(item_tag = self) | ||||||
|       for_now = item_tag.impressions.where(:created_at.gte=> 20.days.ago,:created_at.lte => Time.now).count |     item_tag.impressions.where(:created_at.gte=> 14.days.ago,:created_at.lte => Time.now).count | ||||||
|       for_yesterday = item_tag.impressions.where(:created_at.gte=> 21.days.ago,:created_at.lte => 1.days.ago).count |  | ||||||
|       for_now - for_yesterday |  | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
| end | end | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue