##
# Check if the current user has exceed the rate limit for comments
def rate_limit_exceeded?
- recent_comments = current_user.changeset_comments.where("created_at >= ?", Time.now.utc - 1.hour).count
+ recent_comments = current_user.changeset_comments.where(:created_at => Time.now.utc - 1.hour..).count
recent_comments >= current_user.max_changeset_comments_per_hour
end
changesets.where("closed_at >= ? and created_at <= ?", from, to)
else
# if there is no comma, assume its a lower limit on time
- changesets.where("closed_at >= ?", Time.parse(time).utc)
+ changesets.where(:closed_at => Time.parse(time).utc..)
end
# stupid Time seems to throw both of these for bad parsing, so
# we have to catch both and ensure the correct code path is taken.
changesets = changesets.where(:user => current_user.nearby)
end
- changesets = changesets.where("changesets.id <= ?", @params[:max_id]) if @params[:max_id]
+ changesets = changesets.where(:changesets => { :id => ..@params[:max_id] }) if @params[:max_id]
@changesets = changesets.order("changesets.id DESC").limit(20).preload(:user, :changeset_tags, :comments)
if @changeset.user.active? && @changeset.user.data_public?
changesets = conditions_nonempty(@changeset.user.changesets)
@next_by_user = changesets.where("id > ?", @changeset.id).reorder(:id => :asc).first
- @prev_by_user = changesets.where("id < ?", @changeset.id).reorder(:id => :desc).first
+ @prev_by_user = changesets.where(:id => ...@changeset.id).reorder(:id => :desc).first
end
render :layout => map_layout
rescue ActiveRecord::RecordNotFound
friendship.befriendee = @friend
if current_user.friends_with?(@friend)
flash[:warning] = t ".already_a_friend", :name => @friend.display_name
- elsif current_user.friendships.where("created_at >= ?", Time.now.utc - 1.hour).count >= current_user.max_friends_per_hour
+ elsif current_user.friendships.where(:created_at => Time.now.utc - 1.hour..).count >= current_user.max_friends_per_hour
flash.now[:error] = t ".limit_exceeded"
elsif friendship.save
flash[:notice] = t ".success", :name => @friend.display_name
@message.sender = current_user
@message.sent_on = Time.now.utc
- if current_user.sent_messages.where("sent_on >= ?", Time.now.utc - 1.hour).count >= current_user.max_messages_per_hour
+ if current_user.sent_messages.where(:sent_on => Time.now.utc - 1.hour..).count >= current_user.max_messages_per_hour
flash.now[:error] = t ".limit_exceeded"
render :action => "new"
elsif @message.save
scope :visible_to, ->(user) { where(:assigned_role => user.roles.map(&:role)) }
def read_reports
- resolved_at.present? ? reports.where("updated_at < ?", resolved_at) : nil
+ resolved_at.present? ? reports.where(:updated_at => ...resolved_at) : nil
end
def unread_reports
- resolved_at.present? ? reports.where("updated_at >= ?", resolved_at) : reports
+ resolved_at.present? ? reports.where(:updated_at => resolved_at..) : reports
end
include AASM
def max_messages_per_hour
account_age_in_seconds = Time.now.utc - created_at
account_age_in_hours = account_age_in_seconds / 3600
- recent_messages = messages.where("sent_on >= ?", Time.now.utc - 3600).count
+ recent_messages = messages.where(:sent_on => Time.now.utc - 3600..).count
max_messages = account_age_in_hours.ceil + recent_messages - (active_reports * 10)
max_messages.clamp(0, Settings.max_messages_per_hour)
end
def max_friends_per_hour
account_age_in_seconds = Time.now.utc - created_at
account_age_in_hours = account_age_in_seconds / 3600
- recent_friends = Friendship.where(:befriendee => self).where("created_at >= ?", Time.now.utc - 3600).count
+ recent_friends = Friendship.where(:befriendee => self).where(:created_at => Time.now.utc - 3600..).count
max_friends = account_age_in_hours.ceil + recent_friends - (active_reports * 10)
max_friends.clamp(0, Settings.max_friends_per_hour)
end