Merge branch 'v2' of github.com:neocities/neocities into v2

This commit is contained in:
Victoria Wang 2014-08-19 16:04:40 -07:00
commit 7afc07ecff
4 changed files with 26 additions and 9 deletions

View file

@ -51,7 +51,9 @@ Sidekiq.configure_client do |config|
end
if $config['pubsub_url']
$pubsub = Redis.new url: $config['pubsub_url']
$pubsub_pool = ConnectionPool.new(size: 10, timeout: 5) {
Redis.new url: $config['pubsub_url']
}
end
if $config['pubsub_url'].nil? && ENV['RACK_ENV'] == 'production'

View file

@ -243,6 +243,8 @@ class Site < Sequel::Model
raise 'username is missing'
end
return if is_banned == true
DB.transaction {
self.is_banned = true
self.updated_at = Time.now
@ -629,12 +631,15 @@ class Site < Sequel::Model
end
def latest_events(current_page=1, limit=10)
events_dataset.exclude(site_id: self.id).order(:created_at.desc).paginate(current_page, limit)
events_dataset.order(:created_at.desc).paginate(current_page, limit)
end
def news_feed(current_page=1, limit=10)
following_ids = self.followings_dataset.select(:site_id).all.collect {|f| f.site_id}
Event.filter(site_id: following_ids+[self.id]).order(:created_at.desc).paginate(current_page, limit)
Event.filter(site_id: following_ids+[self.id]).
order(:created_at.desc).
exclude(actioning_site_id: self.id).
paginate(current_page, limit)
end
def host

View file

@ -19,10 +19,14 @@
<div class="title">
<div class="icon"></div>
<% actioning_site = event.actioning_site_dataset.select(:username, :title, :domain).first %>
<% event_site = event.site_dataset.select(:username, :title, :domain).first %>
<% event_site = event.site_dataset.select(:id, :username, :title, :domain).first %>
<a href="/site/<%= actioning_site.username %>" class="user" title="<%= actioning_site.title %>"><%= actioning_site.title.shorten(40) %></a>
is following
<a href="/site/<%= event_site.username %>" class="user" title="<%= event_site.title %>"><%= event_site.title.shorten(40) %></a>
<% if event_site.id == current_site.id %>
your site!
<% else %>
<a href="/site/<%= event_site.username %>" class="user" title="<%= event_site.title %>"><%= event_site.title.shorten(40) %></a>
<% end %>
<span class="date">
<a href="?event_id=<%= event.id %>"><%= event.created_at.ago %></a>
</span>
@ -31,8 +35,12 @@
<div class="news-item update">
<div class="title">
<div class="icon"></div>
<% event_site = event.site_dataset.select(:username, :title, :domain).first %>
<a href="/site/<%= event_site.username %>" class="user"><%= event_site.title %></a> has been updated.
<% event_site = event.site_dataset.select(:id, :username, :title, :domain).first %>
<% if event_site.id == current_site.id %>
Your site was updated.
<% else %>
<a href="/site/<%= event_site.username %>" class="user"><%= event_site.title %></a> has been updated.
<% end %>
<span class="date">
<a href="?event_id=<%= event.id %>"><%= event.created_at.ago %></a>
</span>
@ -70,7 +78,7 @@
<div class="content">
<div class="comments">
<% event.comments.each do |comment| %>
<% comment_actioning_site = comment.actioning_site_dataset.select(:title, :domain, :username).first %>
<% comment_actioning_site = comment.actioning_site_dataset.select(:id, :title, :domain, :username).first %>
<div class="comment" id="comment_<%= comment.id %>">
<img class="avatar" src="<%= comment_actioning_site.screenshot_url('index.html', '82x62') %>">
<a href="/site/<%= comment_actioning_site.username %>" class="user"><%= comment_actioning_site.title %></a>

View file

@ -6,7 +6,9 @@ class PurgeCacheWorker
attempt = 0
begin
attempt += 1
$pubsub.publish 'purgecache', payload.to_json
$pubsub_pool.with do |redis|
redis.publish 'purgecache', payload.to_json
end
rescue Redis::BaseConnectionError => error
raise if attempt > 3
puts "pubsub error: #{error}, retrying in 1s"