From 3e8514fde4b50b21ee548ab5e992f59ad0cd7e00 Mon Sep 17 00:00:00 2001 From: Kyle Drake Date: Tue, 31 Mar 2015 16:51:31 -0700 Subject: [PATCH] show some site change activity in global activity --- app/activity.rb | 15 ++++++++++++++- models/event.rb | 9 +++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/app/activity.rb b/app/activity.rb index ea943ba3..d05ec5a9 100644 --- a/app/activity.rb +++ b/app/activity.rb @@ -8,7 +8,20 @@ get '/activity' do global_dataset.where! Sequel.qualify(:events, :id) => params[:event_id] end - @events = global_dataset.all + events = global_dataset.all + site_change_events = Event.global_site_changes_dataset.limit(25).all + + @events = [] + + events.each do |event| + unless site_change_events.empty? + until site_change_events.first.created_at < event.created_at + @events << site_change_events.shift + break if site_change_events.empty? + end + end + @events << event + end erb :'activity' end diff --git a/models/event.rb b/models/event.rb index 35c94a20..a711f17b 100644 --- a/models/event.rb +++ b/models/event.rb @@ -14,6 +14,7 @@ class Event < Sequel::Model DEFAULT_GLOBAL_LIMIT = 300 GLOBAL_VIEWS_MINIMUM = 5 + GLOBAL_VIEWS_SITE_CHANGE_MINIMUM = 1000 def self.news_feed_default_dataset select_all(:events). @@ -33,6 +34,14 @@ class Event < Sequel::Model where(site_change_id: nil) end + def self.global_site_changes_dataset + news_feed_default_dataset. + where{views > GLOBAL_VIEWS_SITE_CHANGE_MINIMUM}. + exclude(is_nsfw: true). + exclude(is_crashing: true). + exclude(site_change_id: nil) + end + def created_by?(site) return true if actioning_site_id == site.id false