mirror of
https://github.com/neocities/neocities.git
synced 2025-04-24 17:22:35 +02:00
upgrades ruby gems, related fixes
This commit is contained in:
parent
282ae9e45d
commit
31b864227a
7 changed files with 146 additions and 149 deletions
2
Gemfile
2
Gemfile
|
@ -1,6 +1,6 @@
|
|||
source 'https://rubygems.org'
|
||||
|
||||
gem 'sinatra'
|
||||
gem 'sinatra', '2.0.0'
|
||||
gem 'redis'
|
||||
gem 'redis-namespace'
|
||||
gem 'sequel'
|
||||
|
|
155
Gemfile.lock
155
Gemfile.lock
|
@ -1,6 +1,6 @@
|
|||
GIT
|
||||
remote: https://github.com/planio-gmbh/dav4rack.git
|
||||
revision: e68dcf97399a116878a1a68b5c879f5cb05c40cb
|
||||
revision: ec491dccab4bcfa846bb4616c7177fb09819981c
|
||||
branch: redmine-storage
|
||||
specs:
|
||||
dav4rack (0.3.0)
|
||||
|
@ -12,14 +12,14 @@ GIT
|
|||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
acme-client (0.4.0)
|
||||
acme-client (0.5.5)
|
||||
faraday (~> 0.9, >= 0.9.1)
|
||||
activesupport (5.0.2)
|
||||
activesupport (5.1.0)
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
i18n (~> 0.7)
|
||||
minitest (~> 5.1)
|
||||
tzinfo (~> 1.1)
|
||||
addressable (2.5.0)
|
||||
addressable (2.5.1)
|
||||
public_suffix (~> 2.0, >= 2.0.2)
|
||||
annoy (0.5.6)
|
||||
highline (>= 1.5.0)
|
||||
|
@ -28,8 +28,8 @@ GEM
|
|||
bcrypt (3.1.11)
|
||||
blankslate (3.1.3)
|
||||
builder (3.2.3)
|
||||
byebug (8.2.4)
|
||||
capybara (2.13.0)
|
||||
byebug (9.0.6)
|
||||
capybara (2.14.0)
|
||||
addressable
|
||||
mime-types (>= 1.16)
|
||||
nokogiri (>= 1.3.3)
|
||||
|
@ -40,15 +40,14 @@ GEM
|
|||
capybara (>= 2)
|
||||
minitest (>= 4)
|
||||
certified (1.0.0)
|
||||
climate_control (0.0.3)
|
||||
activesupport (>= 3.0)
|
||||
climate_control (0.1.0)
|
||||
cliver (0.3.2)
|
||||
cocaine (0.5.8)
|
||||
climate_control (>= 0.0.3, < 1.0)
|
||||
coderay (1.1.1)
|
||||
concurrent-ruby (1.0.5)
|
||||
connection_pool (2.2.0)
|
||||
coveralls (0.8.20)
|
||||
connection_pool (2.2.1)
|
||||
coveralls (0.8.21)
|
||||
json (>= 1.8, < 3)
|
||||
simplecov (~> 0.14.1)
|
||||
term-ansicolor (~> 1.3)
|
||||
|
@ -59,41 +58,41 @@ GEM
|
|||
crass (1.0.2)
|
||||
dante (0.2.0)
|
||||
docile (1.1.5)
|
||||
domain_name (0.5.20160826)
|
||||
domain_name (0.5.20170404)
|
||||
unf (>= 0.0.5, < 1.0.0)
|
||||
drydock (0.6.9)
|
||||
erubis (2.7.0)
|
||||
exifr (1.2.5)
|
||||
fabrication (2.15.0)
|
||||
fabrication (2.16.1)
|
||||
facter (2.4.6)
|
||||
faker (1.6.3)
|
||||
faker (1.7.3)
|
||||
i18n (~> 0.5)
|
||||
faraday (0.9.2)
|
||||
faraday (0.12.1)
|
||||
multipart-post (>= 1.2, < 3)
|
||||
faraday_middleware (0.9.2)
|
||||
faraday (>= 0.7.4, < 0.10)
|
||||
feedjira (2.1.0)
|
||||
faraday_middleware (0.11.0.1)
|
||||
faraday (>= 0.7.4, < 1.0)
|
||||
feedjira (2.1.2)
|
||||
faraday (>= 0.9)
|
||||
faraday_middleware (>= 0.9)
|
||||
loofah (>= 2.0)
|
||||
sax-machine (>= 1.0)
|
||||
ffi (1.9.10)
|
||||
ffi-compiler (0.1.3)
|
||||
ffi (1.9.18)
|
||||
ffi-compiler (1.0.1)
|
||||
ffi (>= 1.0.0)
|
||||
rake
|
||||
filesize (0.1.1)
|
||||
fspath (3.0.3)
|
||||
fspath (3.1.0)
|
||||
gandi (3.3.27)
|
||||
hashie
|
||||
geoip (1.6.1)
|
||||
hashdiff (0.3.2)
|
||||
geoip (1.6.3)
|
||||
hashdiff (0.3.4)
|
||||
hashie (3.5.5)
|
||||
highline (1.7.8)
|
||||
hiredis (0.6.1)
|
||||
hoe (3.14.2)
|
||||
rake (>= 0.8, < 11.0)
|
||||
htmlentities (4.3.4)
|
||||
http (2.0.3)
|
||||
http (2.2.2)
|
||||
addressable (~> 2.3)
|
||||
http-cookie (~> 1.0)
|
||||
http-form_data (~> 1.0.1)
|
||||
|
@ -102,85 +101,85 @@ GEM
|
|||
domain_name (~> 0.5)
|
||||
http-form_data (1.0.1)
|
||||
http_parser.rb (0.6.0)
|
||||
i18n (0.7.0)
|
||||
image_optim (0.24.1)
|
||||
i18n (0.8.1)
|
||||
image_optim (0.24.3)
|
||||
exifr (~> 1.2, >= 1.2.2)
|
||||
fspath (~> 3.0)
|
||||
image_size (~> 1.5)
|
||||
in_threads (~> 1.3)
|
||||
progress (~> 3.0, >= 3.0.1)
|
||||
image_optim_pack (0.3.0.20161206)
|
||||
image_optim_pack (0.5.0)
|
||||
fspath (>= 2.1, < 4)
|
||||
image_optim (~> 0.19)
|
||||
image_size (1.5.0)
|
||||
in_threads (1.3.1)
|
||||
in_threads (1.4.0)
|
||||
io-extra (1.2.8)
|
||||
ipaddress (0.8.3)
|
||||
jimson-temp (0.9.5)
|
||||
jimson-temp (0.9.4)
|
||||
blankslate (>= 3.1.2)
|
||||
multi_json (~> 1.0)
|
||||
rack (~> 1.4)
|
||||
rest-client (~> 1.0)
|
||||
multi_json (>= 1.7.6)
|
||||
rack (>= 1.4.5)
|
||||
rest-client (>= 1.6.7)
|
||||
json (1.8.6)
|
||||
loofah (2.0.3)
|
||||
nokogiri (>= 1.5.9)
|
||||
m (1.4.2)
|
||||
m (1.5.0)
|
||||
method_source (>= 0.6.7)
|
||||
rake (>= 0.9.2.2)
|
||||
magic (0.2.9)
|
||||
ffi (>= 0.6.3)
|
||||
mail (2.6.4)
|
||||
mail (2.6.5)
|
||||
mime-types (>= 1.16, < 4)
|
||||
metaclass (0.0.4)
|
||||
method_source (0.8.2)
|
||||
mime-types (2.99.3)
|
||||
mini_portile2 (2.1.0)
|
||||
minitest (5.10.1)
|
||||
minitest-reporters (1.1.8)
|
||||
minitest-reporters (1.1.14)
|
||||
ansi
|
||||
builder
|
||||
minitest (>= 5.0)
|
||||
ruby-progressbar
|
||||
mocha (1.1.0)
|
||||
mocha (1.2.1)
|
||||
metaclass (~> 0.0.1)
|
||||
mock_redis (0.16.1)
|
||||
mock_redis (0.17.3)
|
||||
monetize (1.6.0)
|
||||
money (~> 6.8)
|
||||
money (6.8.1)
|
||||
i18n (>= 0.6.4, <= 0.7.0)
|
||||
sixarm_ruby_unaccent (>= 1.1.1, < 2)
|
||||
money (6.9.0)
|
||||
i18n (>= 0.6.4, < 0.9)
|
||||
msgpack (1.1.0)
|
||||
multi_json (1.12.1)
|
||||
multipart-post (2.0.0)
|
||||
mustermann (1.0.0)
|
||||
net-scp (1.2.1)
|
||||
net-ssh (>= 2.6.5)
|
||||
net-ssh (3.1.1)
|
||||
net-ssh (4.1.0)
|
||||
netrc (0.11.0)
|
||||
nokogiri (1.7.0.1)
|
||||
nokogiri (1.7.1)
|
||||
mini_portile2 (~> 2.1.0)
|
||||
nokogumbo (1.4.7)
|
||||
nokogumbo (1.4.10)
|
||||
nokogiri
|
||||
ox (2.4.6)
|
||||
ox (2.5.0)
|
||||
paypal-recurring (1.1.0)
|
||||
pg (0.20.0)
|
||||
poltergeist (1.11.0)
|
||||
poltergeist (1.15.0)
|
||||
capybara (~> 2.1)
|
||||
cliver (~> 0.3.1)
|
||||
websocket-driver (>= 0.2.0)
|
||||
progress (3.2.2)
|
||||
pry (0.10.3)
|
||||
progress (3.3.1)
|
||||
pry (0.10.4)
|
||||
coderay (~> 1.1.0)
|
||||
method_source (~> 0.8.1)
|
||||
slop (~> 3.4)
|
||||
pry-byebug (3.3.0)
|
||||
byebug (~> 8.0)
|
||||
pry-byebug (3.4.2)
|
||||
byebug (~> 9.0)
|
||||
pry (~> 0.10)
|
||||
public_suffix (2.0.5)
|
||||
puma (3.4.0)
|
||||
rack (1.6.5)
|
||||
rack-cache (1.6.1)
|
||||
puma (3.8.2)
|
||||
rack (2.0.1)
|
||||
rack-cache (1.7.0)
|
||||
rack (>= 0.4)
|
||||
rack-protection (1.5.3)
|
||||
rack-protection (2.0.0)
|
||||
rack
|
||||
rack-recaptcha (0.6.6)
|
||||
json
|
||||
|
@ -191,15 +190,15 @@ GEM
|
|||
rack (>= 1.0.0)
|
||||
rake (10.5.0)
|
||||
redis (3.3.3)
|
||||
redis-namespace (1.5.2)
|
||||
redis-namespace (1.5.3)
|
||||
redis (~> 3.0, >= 3.0.4)
|
||||
rest-client (1.8.0)
|
||||
http-cookie (>= 1.0.2, < 2.0)
|
||||
mime-types (>= 1.16, < 3.0)
|
||||
netrc (~> 0.7)
|
||||
rinku (2.0.0)
|
||||
rmagick (2.15.4)
|
||||
ruby-progressbar (1.7.5)
|
||||
rinku (2.0.2)
|
||||
rmagick (2.16.0)
|
||||
ruby-progressbar (1.8.1)
|
||||
rye (0.9.13)
|
||||
annoy
|
||||
docile (>= 1.0.1)
|
||||
|
@ -208,40 +207,40 @@ GEM
|
|||
net-ssh (>= 2.0.13)
|
||||
sysinfo (>= 0.8.1)
|
||||
safe_yaml (1.0.4)
|
||||
sanitize (4.0.1)
|
||||
sanitize (4.4.0)
|
||||
crass (~> 1.0.2)
|
||||
nokogiri (>= 1.4.4)
|
||||
nokogumbo (~> 1.4.1)
|
||||
sass (3.4.22)
|
||||
sass (3.4.23)
|
||||
sax-machine (1.3.2)
|
||||
scrypt (2.1.1)
|
||||
ffi-compiler (>= 0.0.2)
|
||||
rake
|
||||
sequel (4.44.0)
|
||||
sequel_pg (1.6.17)
|
||||
scrypt (3.0.5)
|
||||
ffi-compiler (>= 1.0, < 2.0)
|
||||
sequel (4.46.0)
|
||||
sequel_pg (1.6.18)
|
||||
pg (>= 0.8.0)
|
||||
sequel (>= 4.0.0)
|
||||
shotgun (0.9.1)
|
||||
shotgun (0.9.2)
|
||||
rack (>= 1.0)
|
||||
sidekiq (4.1.2)
|
||||
sidekiq (4.1.4)
|
||||
concurrent-ruby (~> 1.0)
|
||||
connection_pool (~> 2.2, >= 2.2.0)
|
||||
redis (~> 3.2, >= 3.2.1)
|
||||
sinatra (>= 1.4.7)
|
||||
simplecov (0.14.1)
|
||||
docile (~> 1.1.0)
|
||||
json (>= 1.8, < 3)
|
||||
simplecov-html (~> 0.10.0)
|
||||
simplecov-html (0.10.0)
|
||||
simpleidn (0.0.6)
|
||||
sinatra (1.4.8)
|
||||
rack (~> 1.5)
|
||||
rack-protection (~> 1.4)
|
||||
tilt (>= 1.3, < 3)
|
||||
simpleidn (0.0.7)
|
||||
sinatra (2.0.0)
|
||||
mustermann (~> 1.0)
|
||||
rack (~> 2.0)
|
||||
rack-protection (= 2.0.0)
|
||||
tilt (~> 2.0)
|
||||
sinatra-flash (0.3.0)
|
||||
sinatra (>= 1.0.0)
|
||||
sinatra-xsendfile (0.4.2)
|
||||
sinatra (>= 0.9.1)
|
||||
sixarm_ruby_unaccent (1.1.1)
|
||||
slop (3.6.0)
|
||||
storable (0.8.9)
|
||||
stripe (1.15.0)
|
||||
|
@ -255,28 +254,28 @@ GEM
|
|||
sysinfo (0.8.1)
|
||||
drydock
|
||||
storable
|
||||
term-ansicolor (1.5.0)
|
||||
term-ansicolor (1.6.0)
|
||||
tins (~> 1.0)
|
||||
thor (0.19.4)
|
||||
thread (0.2.2)
|
||||
thread_safe (0.3.6)
|
||||
tilt (2.0.6)
|
||||
tilt (2.0.7)
|
||||
timecop (0.8.1)
|
||||
tins (1.13.2)
|
||||
tzinfo (1.2.3)
|
||||
thread_safe (~> 0.1)
|
||||
unf (0.1.4)
|
||||
unf_ext
|
||||
unf_ext (0.0.7.2)
|
||||
unf_ext (0.0.7.4)
|
||||
uuidtools (2.1.5)
|
||||
webmock (2.3.2)
|
||||
webmock (3.0.1)
|
||||
addressable (>= 2.3.6)
|
||||
crack (>= 0.3.2)
|
||||
hashdiff
|
||||
websocket-driver (0.6.4)
|
||||
websocket-driver (0.6.5)
|
||||
websocket-extensions (>= 0.1.0)
|
||||
websocket-extensions (0.1.2)
|
||||
will_paginate (3.1.0)
|
||||
will_paginate (3.1.5)
|
||||
xmlrpc (0.3.0)
|
||||
xpath (2.0.0)
|
||||
nokogiri (~> 1.3)
|
||||
|
@ -348,7 +347,7 @@ DEPENDENCIES
|
|||
sidekiq (~> 4.1.2)
|
||||
simplecov
|
||||
simpleidn
|
||||
sinatra
|
||||
sinatra (= 2.0.0)
|
||||
sinatra-flash
|
||||
sinatra-xsendfile
|
||||
stripe (= 1.15.0)
|
||||
|
|
|
@ -6,14 +6,14 @@ get '/browse/?' do
|
|||
params.delete 'tag' if params[:tag].nil? || params[:tag].strip.empty?
|
||||
|
||||
if is_education?
|
||||
site_dataset = education_sites_dataset
|
||||
ds = education_sites_dataset
|
||||
else
|
||||
site_dataset = browse_sites_dataset
|
||||
ds = browse_sites_dataset
|
||||
end
|
||||
|
||||
site_dataset = site_dataset.paginate @page, Site::BROWSE_PAGINATION_LENGTH
|
||||
@pagination_dataset = site_dataset
|
||||
@sites = site_dataset.all
|
||||
ds = ds.paginate @page, Site::BROWSE_PAGINATION_LENGTH
|
||||
@pagination_dataset = ds
|
||||
@sites = ds.all
|
||||
|
||||
site_ids = @sites.collect {|s| s[:id]}
|
||||
tags = DB['select site_id,name from tags join sites_tags on tags.id=sites_tags.tag_id where site_id IN ?', site_ids].all
|
||||
|
@ -31,25 +31,24 @@ get '/browse/?' do
|
|||
end
|
||||
|
||||
def education_sites_dataset
|
||||
site_dataset = Site.filter is_deleted: false
|
||||
site_dataset = site_dataset.association_join(:tags).select_all(:sites)
|
||||
ds = Site.filter is_deleted: false
|
||||
ds = ds.association_join(:tags).select_all(:sites)
|
||||
params[:tag] = current_site.tags.first.name
|
||||
site_dataset.where! ['tags.name = ?', params[:tag]]
|
||||
ds = ds.where ['tags.name = ?', params[:tag]]
|
||||
end
|
||||
|
||||
def browse_sites_dataset
|
||||
|
||||
site_dataset = Site.browse_dataset
|
||||
ds = Site.browse_dataset
|
||||
|
||||
if current_site
|
||||
site_dataset.or! sites__id: current_site.id
|
||||
ds = ds.or sites__id: current_site.id
|
||||
|
||||
if !current_site.blocking_site_ids.empty?
|
||||
site_dataset.where!(Sequel.~(Sequel.qualify(:sites, :id) => current_site.blocking_site_ids))
|
||||
ds = ds.where(Sequel.~(Sequel.qualify(:sites, :id) => current_site.blocking_site_ids))
|
||||
end
|
||||
|
||||
if current_site.blocks_dataset.count
|
||||
site_dataset.where!(
|
||||
ds = ds.where(
|
||||
Sequel.~(Sequel.qualify(:sites, :id) => current_site.blocks_dataset.select(:actioning_site_id).all.collect {|s| s.actioning_site_id})
|
||||
)
|
||||
end
|
||||
|
@ -57,56 +56,56 @@ def browse_sites_dataset
|
|||
|
||||
case params[:sort_by]
|
||||
when 'special_sauce'
|
||||
site_dataset.exclude! score: nil
|
||||
site_dataset.order! :score.desc
|
||||
ds = ds.exclude score: nil
|
||||
ds = ds.order :score.desc
|
||||
when 'followers'
|
||||
site_dataset.order! :follow_count.desc, :updated_at.desc
|
||||
ds = ds.order :follow_count.desc, :updated_at.desc
|
||||
when 'supporters'
|
||||
site_dataset.exclude! plan_type: nil
|
||||
site_dataset.exclude! plan_type: 'free'
|
||||
site_dataset.order! :views.desc, :site_updated_at.desc
|
||||
ds = ds.exclude plan_type: nil
|
||||
ds = ds.exclude plan_type: 'free'
|
||||
ds = ds.order :views.desc, :site_updated_at.desc
|
||||
when 'featured'
|
||||
site_dataset.exclude! featured_at: nil
|
||||
site_dataset.order! :featured_at.desc
|
||||
ds = ds.exclude featured_at: nil
|
||||
ds = ds.order :featured_at.desc
|
||||
when 'hits'
|
||||
site_dataset.where!{views > 100}
|
||||
site_dataset.order!(:hits.desc, :site_updated_at.desc)
|
||||
ds = ds.where{views > 100}
|
||||
ds = ds.order(:hits.desc, :site_updated_at.desc)
|
||||
when 'views'
|
||||
site_dataset.where!{views > 100}
|
||||
site_dataset.order!(:views.desc, :site_updated_at.desc)
|
||||
ds = ds.where{views > 100}
|
||||
ds = ds.order(:views.desc, :site_updated_at.desc)
|
||||
when 'newest'
|
||||
site_dataset.order!(:created_at.desc, :views.desc)
|
||||
ds = ds.order(:created_at.desc, :views.desc)
|
||||
when 'oldest'
|
||||
site_dataset.where!{views > 100}
|
||||
site_dataset.order!(:created_at, :views.desc)
|
||||
ds = ds.where{views > 100}
|
||||
ds = ds.order(:created_at, :views.desc)
|
||||
when 'random'
|
||||
site_dataset.where!{views > 100}
|
||||
site_dataset.where! 'random() < 0.01'
|
||||
ds = ds.where{views > 100}
|
||||
ds = ds.where 'random() < 0.01'
|
||||
when 'last_updated'
|
||||
site_dataset.where!{views > 100}
|
||||
ds = ds.where{views > 100}
|
||||
params[:sort_by] = 'last_updated'
|
||||
site_dataset.exclude!(site_updated_at: nil)
|
||||
site_dataset.order!(:site_updated_at.desc, :views.desc)
|
||||
ds = ds.exclude(site_updated_at: nil)
|
||||
ds = ds.order(:site_updated_at.desc, :views.desc)
|
||||
when 'tipping_enabled'
|
||||
site_dataset.where! tipping_enabled: true
|
||||
site_dataset.where!("(tipping_paypal is not null and tipping_paypal != '') or (tipping_bitcoin is not null and tipping_bitcoin != '')")
|
||||
site_dataset.where!{views > 10_000}
|
||||
site_dataset.group! :sites__id
|
||||
site_dataset.order! :follow_count.desc, :views.desc, :updated_at.desc
|
||||
ds = ds.where tipping_enabled: true
|
||||
ds = ds.where("(tipping_paypal is not null and tipping_paypal != '') or (tipping_bitcoin is not null and tipping_bitcoin != '')")
|
||||
ds = ds.where{views > 10_000}
|
||||
ds = ds.group :sites__id
|
||||
ds = ds.order :follow_count.desc, :views.desc, :updated_at.desc
|
||||
else
|
||||
params[:sort_by] = 'followers'
|
||||
site_dataset.order! :follow_count.desc, :views.desc, :updated_at.desc
|
||||
ds = ds.order :follow_count.desc, :views.desc, :updated_at.desc
|
||||
end
|
||||
|
||||
site_dataset.where! ['sites.is_nsfw = ?', (params[:is_nsfw] == 'true' ? true : false)]
|
||||
ds = ds.where ['sites.is_nsfw = ?', (params[:is_nsfw] == 'true' ? true : false)]
|
||||
|
||||
if params[:tag]
|
||||
site_dataset.select_all! :sites
|
||||
site_dataset.inner_join! :sites_tags, :site_id => :id
|
||||
site_dataset.inner_join! :tags, :id => :sites_tags__tag_id
|
||||
site_dataset.where! ['tags.name = ?', params[:tag]]
|
||||
site_dataset.where! ['tags.is_nsfw = ?', (params[:is_nsfw] == 'true' ? true : false)]
|
||||
ds = ds.select_all :sites
|
||||
ds = ds.inner_join :sites_tags, :site_id => :id
|
||||
ds = ds.inner_join :tags, :id => :sites_tags__tag_id
|
||||
ds = ds.where ['tags.name = ?', params[:tag]]
|
||||
ds = ds.where ['tags.is_nsfw = ?', (params[:is_nsfw] == 'true' ? true : false)]
|
||||
end
|
||||
|
||||
site_dataset
|
||||
ds
|
||||
end
|
||||
|
|
|
@ -59,11 +59,10 @@ post '/site_files/create' do
|
|||
|
||||
site_file ||= SiteFile.new site_id: current_site.id, path: name
|
||||
|
||||
site_file.set_all(
|
||||
size: 0,
|
||||
sha1_hash: Digest::SHA1.hexdigest(''),
|
||||
updated_at: Time.now
|
||||
)
|
||||
site_file.size = 0
|
||||
site_file.set size: 0
|
||||
site_file.set sha1_hash: Digest::SHA1.hexdigest('')
|
||||
site_file.set updated_at: Time.now
|
||||
site_file.save
|
||||
end
|
||||
|
||||
|
|
|
@ -33,6 +33,8 @@ raise 'hash_ip_salt is required' unless $config['ip_hash_salt']
|
|||
|
||||
DB = Sequel.connect $config['database'], sslmode: 'disable', max_connections: $config['database_pool']
|
||||
DB.extension :pagination
|
||||
DB.extension :auto_literal_strings
|
||||
Sequel.split_symbols = true
|
||||
|
||||
require 'will_paginate/sequel'
|
||||
|
||||
|
|
|
@ -4,7 +4,13 @@ class Comment < Sequel::Model
|
|||
many_to_one :actioning_site, class: :Site
|
||||
one_to_many :comment_likes
|
||||
|
||||
dataset.exclude! is_deleted: true
|
||||
def dataset
|
||||
if @_is_deleted_filter_set.nil?
|
||||
@dataset = @dataset.filter is_deleted: false
|
||||
@_is_deleted_filter_set = true
|
||||
end
|
||||
super
|
||||
end
|
||||
|
||||
def liking_site_titles
|
||||
comment_likes_dataset.select(:id, :actioning_site_id).all.collect do |comment_like|
|
||||
|
|
|
@ -919,7 +919,7 @@ class Site < Sequel::Model
|
|||
# Check for existing email if new or changing email.
|
||||
if new? || @original_email
|
||||
email_check = self.class.select(:id).filter(email: values[:email])
|
||||
email_check.exclude!(id: self.id) unless new?
|
||||
email_check = email_check.exclude(id: self.id) unless new?
|
||||
email_check = email_check.first
|
||||
|
||||
if parent? && email_check && email_check.id != self.id
|
||||
|
@ -1313,19 +1313,13 @@ class Site < Sequel::Model
|
|||
|
||||
return suggestions if suggestions.length == limit
|
||||
|
||||
# Old.
|
||||
#suggestions += suggestions_dataset.where("views >= #{SUGGESTIONS_VIEWS_MIN}").limit(limit-suggestions.length).order(Sequel.lit('RANDOM()')).all
|
||||
ds = self.class.browse_dataset
|
||||
ds = ds.select_all :sites
|
||||
ds = ds.order :follow_count.desc, :updated_at.desc
|
||||
ds = ds.where Sequel.lit("views >= #{SUGGESTIONS_VIEWS_MIN}")
|
||||
ds = ds.limit limit - suggestions.length
|
||||
|
||||
# New:
|
||||
|
||||
site_dataset = self.class.browse_dataset
|
||||
site_dataset.select_all! :sites
|
||||
site_dataset.order! :follow_count.desc, :updated_at.desc
|
||||
site_dataset.where! "views >= #{SUGGESTIONS_VIEWS_MIN}"
|
||||
site_dataset.limit! limit-suggestions.length
|
||||
#site_dataset.order! Sequel.lit('RANDOM()')
|
||||
|
||||
suggestions += site_dataset.all
|
||||
suggestions += ds.all
|
||||
end
|
||||
|
||||
def screenshot_path(path, resolution)
|
||||
|
@ -1548,11 +1542,9 @@ class Site < Sequel::Model
|
|||
|
||||
site_file ||= SiteFile.new site_id: self.id, path: relative_path
|
||||
|
||||
site_file.set_all(
|
||||
size: uploaded_size,
|
||||
sha1_hash: uploaded_sha1,
|
||||
updated_at: Time.now
|
||||
)
|
||||
site_file.set size: uploaded_size
|
||||
site_file.set sha1_hash: uploaded_sha1
|
||||
site_file.set updated_at: Time.now
|
||||
site_file.save
|
||||
|
||||
purge_cache path
|
||||
|
|
Loading…
Add table
Reference in a new issue