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