finished tag clouds

This commit is contained in:
Matthew K. Fu JuYuan committed 2012-07-31 11:57:32 +08:00
1 parent af4865ceb7
commit 7e3b59c09a
5 files changed
+61 -7

No files matched your search

+21 -3
View File
@@ -14,16 +14,34 @@ class Tag
for_now = {:start_at=>20.days.ago,:end_at=>Time.now}
for_yesterday = {:start_at=>19.days.ago,:end_at=>1.days.ago}
range = self.class.all.collect{ |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
protected
def get_impressionist_diff(item_tag = self)
for_now = item_tag.impressionist_count(:start_date=>20.days.ago,:end_date=>Time.now)
for_yesterday = item_tag.impressionist_count(:start_date=>21.days.ago,:end_date=>1.days.ago)
for_now = item_tag.impressions.where(:created_at.gte=> 20.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