X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/ef7f3d800cbdd49b692df10d312e5fd880e2e938..c5fc9f0e7e93088c599ae0d8540ee0117f277d6d:/script/update-spam-blocks?ds=sidebyside diff --git a/script/update-spam-blocks b/script/update-spam-blocks index 89bccf1c9..f14905b90 100755 --- a/script/update-spam-blocks +++ b/script/update-spam-blocks @@ -1,32 +1,27 @@ #!/usr/bin/env ruby -require File.dirname(__FILE__) + '/../config/environment' -require 'generator' +require File.dirname(__FILE__) + "/../config/environment" +require "generator" addresses = User.count( :conditions => { - :status => %w(suspended deleted), + :status => %w[suspended deleted], :creation_time => Time.now - 28.days..Time.now }, :group => :creation_ip ) addresses.each do |address, count| - if count > 1 - acl = Acl.find(:first, :conditions => { - :address => address - }) - - unless acl - Acl.create({ - :address => address, - :k => "no_account_creation", - :v => "auto_spam_block" - }, { :without_protection => true }) - - puts "Blocked #{address}" - end - end + next unless count > 1 + next if Acl.where(:address => address).exists? + + Acl.create({ + :address => address, + :k => "no_account_creation", + :v => "auto_spam_block" + }, { :without_protection => true }) + + puts "Blocked #{address}" end acls = Acl.find(:all, :conditions => { @@ -35,11 +30,11 @@ acls = Acl.find(:all, :conditions => { }) acls.each do |acl| - unless addresses[acl.address] - acl.delete + next if addresses[acl.address] + + acl.delete - puts "Unblocked #{acl.address}" - end + puts "Unblocked #{acl.address}" end exit 0