Fix Style/NumericPredicate rubocop warnings
authorTom Hughes <tom@compton.nu>
Sat, 22 Sep 2018 16:34:58 +0000 (17:34 +0100)
committerTom Hughes <tom@compton.nu>
Sat, 22 Sep 2018 16:34:58 +0000 (17:34 +0100)
14 files changed:
.rubocop_todo.yml
app/controllers/amf_controller.rb
app/controllers/changeset_controller.rb
app/controllers/notes_controller.rb
app/helpers/banner_helper.rb
app/helpers/issues_helper.rb
app/models/relation.rb
app/models/trace.rb
app/models/way.rb
db/migrate/021_move_to_innodb.rb
lib/classic_pagination/pagination.rb
lib/daemons/gpx_import.rb
lib/gpx.rb
test/controllers/amf_controller_test.rb

index c59c4efca2ef6e04cd52dc0a1c5979b316148a97..293135907385bc9b3d0890b8be3db2ceac17c430 100644 (file)
@@ -185,27 +185,6 @@ Style/IfUnlessModifier:
 Style/NumericLiterals:
   MinDigits: 11
 
-# Offense count: 21
-# Cop supports --auto-correct.
-# Configuration parameters: AutoCorrect, EnforcedStyle.
-# SupportedStyles: predicate, comparison
-Style/NumericPredicate:
-  Exclude:
-    - 'spec/**/*'
-    - 'app/controllers/amf_controller.rb'
-    - 'app/controllers/changeset_controller.rb'
-    - 'app/controllers/notes_controller.rb'
-    - 'app/helpers/banner_helper.rb'
-    - 'app/helpers/issues_helper.rb'
-    - 'app/models/relation.rb'
-    - 'app/models/trace.rb'
-    - 'app/models/way.rb'
-    - 'db/migrate/021_move_to_innodb.rb'
-    - 'lib/classic_pagination/pagination.rb'
-    - 'lib/daemons/gpx_import.rb'
-    - 'lib/gpx.rb'
-    - 'test/controllers/amf_controller_test.rb'
-
 # Offense count: 3080
 # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
 # URISchemes: http, https
index b164eddafffc8714b119f522bf6fb47e8f934554..4f6adae5da6b08dd38b763f5aff392e53d359ce2 100644 (file)
@@ -472,7 +472,7 @@ class AmfController < ApplicationController
       return -1, t("application.setup_user_auth.blocked") if user.blocks.active.exists?
 
       query = Trace.visible_to(user)
-      query = if searchterm.to_i > 0
+      query = if searchterm.to_i.positive?
                 query.where(:id => searchterm.to_i)
               else
                 query.where("MATCH(name) AGAINST (?)", searchterm).limit(21)
@@ -508,7 +508,7 @@ class AmfController < ApplicationController
 
   def findrelations(searchterm)
     rels = []
-    if searchterm.to_i > 0
+    if searchterm.to_i.positive?
       rel = Relation.where(:id => searchterm.to_i).first
       rels.push([rel.id, rel.tags, rel.members, rel.version]) if rel&.visible
     else
@@ -545,7 +545,7 @@ class AmfController < ApplicationController
       relation = nil
       Relation.transaction do
         # create a new relation, or find the existing one
-        relation = Relation.find(relid) if relid > 0
+        relation = Relation.find(relid) if relid.positive?
         # We always need a new node, based on the data that has been sent to us
         new_relation = Relation.new
 
@@ -553,7 +553,7 @@ class AmfController < ApplicationController
         typedmembers = []
         members.each do |m|
           mid = m[1].to_i
-          if mid < 0
+          if mid.negative?
             mid = renumberednodes[mid] if m[0] == "Node"
             mid = renumberedways[mid] if m[0] == "Way"
           end
@@ -741,7 +741,7 @@ class AmfController < ApplicationController
       node = nil
       new_node = nil
       Node.transaction do
-        if id > 0
+        if id.positive?
           begin
             node = Node.find(id)
           rescue ActiveRecord::RecordNotFound
index 90b868129d1ba3a0710a0d5e8ed97b2c1d362982..c03ed9056a0759277b1fda313132655299cb83f9 100644 (file)
@@ -582,7 +582,7 @@ class ChangesetController < ApplicationController
   # Get the maximum number of comments to return
   def comments_limit
     if params[:limit]
-      if params[:limit].to_i > 0 && params[:limit].to_i <= 10000
+      if params[:limit].to_i.positive? && params[:limit].to_i <= 10000
         params[:limit].to_i
       else
         raise OSM::APIBadUserInput, "Comments limit must be between 1 and 10000"
index 0c3392d60c32f1e415c6dae6f86309769b853a78..19ff725dc992aa924605fc841a8a215bc34f5bff 100644 (file)
@@ -307,7 +307,7 @@ class NotesController < ApplicationController
   # Get the maximum number of results to return
   def result_limit
     if params[:limit]
-      if params[:limit].to_i > 0 && params[:limit].to_i <= 10000
+      if params[:limit].to_i.positive? && params[:limit].to_i <= 10000
         params[:limit].to_i
       else
         raise OSM::APIBadUserInput, "Note limit must be between 1 and 10000"
@@ -327,9 +327,9 @@ class NotesController < ApplicationController
                      7
                    end
 
-    if closed_since < 0
+    if closed_since.negative?
       notes.where.not(:status => "hidden")
-    elsif closed_since > 0
+    elsif closed_since.positive?
       notes.where(:status => "open")
            .or(notes.where(:status => "closed")
                     .where(notes.arel_table[:closed_at].gt(Time.now - closed_since.days)))
index 661369454fb065b024985df35b347d0fb09c2f55..fef6eaa5e77c989c177eb0c15aed84687c844fbf 100644 (file)
@@ -26,7 +26,7 @@ module BannerHelper
 
       # rotate all banner queue positions
       index = cval.to_i
-      cookies[ckey] = index - 1 if index > 0
+      cookies[ckey] = index - 1 if index.positive?
 
       # pick banner with mininum queue position
       next if index > min_index
index 4ecd7001af131074ea3ca18de9fc4186e9ede2fe..43ca98c9134c5e13d1547570da74867c2dc42d45 100644 (file)
@@ -29,7 +29,7 @@ module IssuesHelper
     count = Issue.visible_to(current_user).open.limit(100).size
     if count > 99
       content_tag(:span, "99+", :class => "count-number")
-    elsif count > 0
+    elsif count.positive?
       content_tag(:span, count, :class => "count-number")
     end
   end
index 42ac3d6dc337ce11633ac4a68765b621b2b51d4d..d5117b7c3146a426ff471594916a8b3c2b0138a8 100644 (file)
@@ -275,7 +275,7 @@ class Relation < ActiveRecord::Base
   def fix_placeholders!(id_map, placeholder_id = nil)
     members.map! do |type, id, role|
       old_id = id.to_i
-      if old_id < 0
+      if old_id.negative?
         new_id = id_map[type.downcase.to_sym][old_id]
         raise OSM::APIBadUserInput, "Placeholder #{type} not found for reference #{old_id} in relation #{self.id.nil? ? placeholder_id : self.id}." if new_id.nil?
 
index 91492404be0c881b94c5523d053016d0dc69ac9b..5096a81aafcb7e69e9b77d8d90b3fd9f933ec545 100644 (file)
@@ -306,7 +306,7 @@ class Trace < ActiveRecord::Base
       tp.save!
     end
 
-    if gpx.actual_points > 0
+    if gpx.actual_points.positive?
       max_lat = Tracepoint.where(:gpx_id => id).maximum(:latitude)
       min_lat = Tracepoint.where(:gpx_id => id).minimum(:latitude)
       max_lon = Tracepoint.where(:gpx_id => id).maximum(:longitude)
index 2d149863e359b12cad01bf22315a5e658ef216b9..c95a1212296acc56746aea30c7959ef0a6678db5 100644 (file)
@@ -254,7 +254,7 @@ class Way < ActiveRecord::Base
   # to IDs +id_map+.
   def fix_placeholders!(id_map, placeholder_id = nil)
     nds.map! do |node_id|
-      if node_id < 0
+      if node_id.negative?
         new_id = id_map[:node][node_id]
         raise OSM::APIBadUserInput, "Placeholder node not found for reference #{node_id} in way #{id.nil? ? placeholder_id : id}" if new_id.nil?
 
index 3232e27411fe4181c198d425e743042c86bb76b1..d1c20bcdbc2764c17d625f33cb980408a22f0359 100644 (file)
@@ -19,7 +19,7 @@ class MoveToInnodb < ActiveRecord::Migration[5.0]
       # current version to something less so that we can update the version in
       # batches of 10000
       tbl.classify.constantize.update_all(:version => -1)
-      tbl.classify.constantize.update_all("version=(SELECT max(version) FROM #{tbl} WHERE #{tbl}.id = current_#{tbl}.id)", { :version => -1 }, { :limit => 10000 }) while tbl.classify.constantize.where(:version => -1).count > 0
+      tbl.classify.constantize.update_all("version=(SELECT max(version) FROM #{tbl} WHERE #{tbl}.id = current_#{tbl}.id)", { :version => -1 }, { :limit => 10000 }) while tbl.classify.constantize.where(:version => -1).count.positive?
       # execute "UPDATE current_#{tbl} SET version = " +
       #  "(SELECT max(version) FROM #{tbl} WHERE #{tbl}.id = current_#{tbl}.id)"
       # The above update causes a MySQL error:
index 054b2bb34e080bf9f50c7f2ed4513d8178d85e01..811d09239d0fe5a325e3aca04204d86470434af5 100644 (file)
@@ -398,7 +398,7 @@ module ActionController
         # Sets the window's padding (the number of pages on either side of the
         # window page).
         def padding=(padding)
-          @padding = padding < 0 ? 0 : padding
+          @padding = padding.negative? ? 0 : padding
           # Find the beginning and end pages of the window
           @first = if @paginator.has_page_number?(@page.number - @padding)
                      @paginator[@page.number - @padding]
index 4445d1ec081aaefcd5ff193f95daf3384728d56e..a0344b58c95f9495c35537fbfcbddd49b900dff7 100755 (executable)
@@ -20,7 +20,7 @@ loop do
     begin
       gpx = trace.import
 
-      if gpx.actual_points > 0
+      if gpx.actual_points.positive?
         Notifier.gpx_success(trace, gpx.actual_points).deliver
       else
         Notifier.gpx_failure(trace, "0 points parsed ok. Do they all have lat,lng,alt,timestamp?").deliver
index ee9d53afaa0fea65cfe403f5ae9cb26fb71c3167..8510df916821b7fc3aa615f54a880e81bd6bce3d 100644 (file)
@@ -79,7 +79,7 @@ module GPX
         px = proj.x(p.longitude)
         py = proj.y(p.latitude)
 
-        if m > 0
+        if m.positive?
           frames.times do |n|
             gc = if n == mm
                    highlightgc.dup
index ec11b38e89bc33ec3ec7be3b4a8078aa1ac1c356..0bdd01bd2e5f2209d22997d176c9007dbfdaffd1 100644 (file)
@@ -747,7 +747,7 @@ class AmfControllerTest < ActionController::TestCase
     assert_equal 5, result.size
     assert_equal 0, result[0], "expected to get the status ok from the amf"
     assert_equal 0, result[2], "The old id should be 0"
-    assert result[3] > 0, "The new id should be greater than 0"
+    assert result[3].positive?, "The new id should be greater than 0"
     assert_equal 1, result[4], "The new version should be 1"
 
     # Finally check that the node that was saved has saved the data correctly
@@ -784,7 +784,7 @@ class AmfControllerTest < ActionController::TestCase
     assert_equal 5, result.size
     assert_equal 0, result[0], "Expected to get the status ok in the amf"
     assert_equal 0, result[2], "The old id should be 0"
-    assert result[3] > 0, "The new id should be greater than 0"
+    assert result[3].positive?, "The new id should be greater than 0"
     assert_equal 1, result[4], "The new version should be 1"
 
     # Finally check that the node that was saved has saved the data correctly
@@ -831,7 +831,7 @@ class AmfControllerTest < ActionController::TestCase
     assert_equal 5, result.size
     assert_equal 0, result[0], "Expected to get the status ok in the amf"
     assert_equal 0, result[2], "The old id should be 0"
-    assert result[3] > 0, "The new id should be greater than 0"
+    assert result[3].positive?, "The new id should be greater than 0"
     assert_equal 1, result[4], "The new version should be 1"
 
     # Finally check that the node that was saved has saved the data correctly