Fix new rubocop warnings

This commit is contained in:
Tom Hughes 2018-09-22 17:12:29 +01:00
parent fbd6909b91
commit 6c2093b29d
21 changed files with 51 additions and 0 deletions

View file

@ -106,6 +106,7 @@ class Changeset < ActiveRecord::Base
pt.find("tag").each do |tag|
raise OSM::APIBadXMLError.new("changeset", pt, "tag is missing key") if tag["k"].nil?
raise OSM::APIBadXMLError.new("changeset", pt, "tag is missing value") if tag["v"].nil?
cs.add_tag_keyval(tag["k"], tag["v"])
end

View file

@ -57,6 +57,7 @@ class ClientApplication < ActiveRecord::Base
def self.verify_request(request, options = {}, &block)
signature = OAuth::Signature.build(request, options, &block)
return false unless OauthNonce.remember(signature.request.nonce, signature.request.timestamp)
value = signature.verify
value
rescue OAuth::Signature::UnknownSignatureMethod

View file

@ -88,19 +88,23 @@ class Node < ActiveRecord::Base
raise OSM::APIBadXMLError.new("node", pt, "lat missing") if pt["lat"].nil?
raise OSM::APIBadXMLError.new("node", pt, "lon missing") if pt["lon"].nil?
node.lat = OSM.parse_float(pt["lat"], OSM::APIBadXMLError, "node", pt, "lat not a number")
node.lon = OSM.parse_float(pt["lon"], OSM::APIBadXMLError, "node", pt, "lon not a number")
raise OSM::APIBadXMLError.new("node", pt, "Changeset id is missing") if pt["changeset"].nil?
node.changeset_id = pt["changeset"].to_i
raise OSM::APIBadUserInput, "The node is outside this world" unless node.in_world?
# version must be present unless creating
raise OSM::APIBadXMLError.new("node", pt, "Version is required when updating") unless create || !pt["version"].nil?
node.version = create ? 0 : pt["version"].to_i
unless create
raise OSM::APIBadXMLError.new("node", pt, "ID is required when updating.") if pt["id"].nil?
node.id = pt["id"].to_i
# .to_i will return 0 if there is no number that can be parsed.
# We want to make sure that there is no id with zero anyway
@ -119,6 +123,7 @@ class Node < ActiveRecord::Base
pt.find("tag").each do |tag|
raise OSM::APIBadXMLError.new("node", pt, "tag is missing key") if tag["k"].nil?
raise OSM::APIBadXMLError.new("node", pt, "tag is missing value") if tag["v"].nil?
node.add_tag_key_val(tag["k"], tag["v"])
end

View file

@ -22,8 +22,10 @@ class OauthNonce < ActiveRecord::Base
# Remembers a nonce and it's associated timestamp. It returns false if it has already been used
def self.remember(nonce, timestamp)
return false if Time.now.to_i - timestamp.to_i > 86400
oauth_nonce = OauthNonce.create(:nonce => nonce, :timestamp => timestamp.to_i)
return false if oauth_nonce.new_record?
oauth_nonce
end
end

View file

@ -70,12 +70,15 @@ class Relation < ActiveRecord::Base
relation = Relation.new
raise OSM::APIBadXMLError.new("relation", pt, "Version is required when updating") unless create || !pt["version"].nil?
relation.version = pt["version"]
raise OSM::APIBadXMLError.new("relation", pt, "Changeset id is missing") if pt["changeset"].nil?
relation.changeset_id = pt["changeset"]
unless create
raise OSM::APIBadXMLError.new("relation", pt, "ID is required when updating") if pt["id"].nil?
relation.id = pt["id"].to_i
# .to_i will return 0 if there is no number that can be parsed.
# We want to make sure that there is no id with zero anyway
@ -94,6 +97,7 @@ class Relation < ActiveRecord::Base
pt.find("tag").each do |tag|
raise OSM::APIBadXMLError.new("relation", pt, "tag is missing key") if tag["k"].nil?
raise OSM::APIBadXMLError.new("relation", pt, "tag is missing value") if tag["v"].nil?
relation.add_tag_keyval(tag["k"], tag["v"])
end
@ -106,6 +110,7 @@ class Relation < ActiveRecord::Base
pt.find("member").each do |member|
# member_type =
raise OSM::APIBadXMLError.new("relation", pt, "The #{member['type']} is not allowed only, #{TYPES.inspect} allowed") unless TYPES.include? member["type"]
# member_ref = member['ref']
# member_role
member["role"] ||= "" # Allow the upload to not include this, in which case we default to an empty string.
@ -207,6 +212,7 @@ class Relation < ActiveRecord::Base
lock!
check_consistency(self, new_relation, user)
raise OSM::APIPreconditionFailedError, "Cannot update relation #{id}: data or member data is invalid." unless new_relation.preconditions_ok?(members)
self.changeset_id = new_relation.changeset_id
self.changeset = new_relation.changeset
self.tags = new_relation.tags
@ -219,6 +225,7 @@ class Relation < ActiveRecord::Base
def create_with_history(user)
check_create_consistency(self, user)
raise OSM::APIPreconditionFailedError, "Cannot create relation: data or member data is invalid." unless preconditions_ok?
self.version = 0
self.visible = true
save_with_history!
@ -254,6 +261,7 @@ class Relation < ActiveRecord::Base
# and check that it is OK to use.
raise OSM::APIPreconditionFailedError, "Relation with id #{id} cannot be saved due to #{m[0]} with id #{m[1]}" unless element && element.visible? && element.preconditions_ok?
hash[m[1]] = true
end
@ -270,6 +278,7 @@ class Relation < ActiveRecord::Base
if old_id < 0
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?
[type, new_id, role]
else
[type, id, role]

View file

@ -40,6 +40,7 @@ class RequestToken < OauthToken
def authorize!(user)
return false if authorized?
self.user = user
self.authorized_at = Time.now
self.verifier = OAuth::Helper.generate_key(20)[0, 20] unless oauth10?

View file

@ -214,10 +214,12 @@ class Trace < ActiveRecord::Base
def update_from_xml_node(pt, create = false)
raise OSM::APIBadXMLError.new("trace", pt, "visibility missing") if pt["visibility"].nil?
self.visibility = pt["visibility"]
unless create
raise OSM::APIBadXMLError.new("trace", pt, "ID is required when updating.") if pt["id"].nil?
id = pt["id"].to_i
# .to_i will return 0 if there is no number that can be parsed.
# We want to make sure that there is no id with zero anyway
@ -232,6 +234,7 @@ class Trace < ActiveRecord::Base
description = pt.find("description").first
raise OSM::APIBadXMLError.new("trace", pt, "description missing") if description.nil?
self.description = description.content
self.tags = pt.find("tag").collect do |tag|

View file

@ -68,12 +68,15 @@ class Way < ActiveRecord::Base
way = Way.new
raise OSM::APIBadXMLError.new("way", pt, "Version is required when updating") unless create || !pt["version"].nil?
way.version = pt["version"]
raise OSM::APIBadXMLError.new("way", pt, "Changeset id is missing") if pt["changeset"].nil?
way.changeset_id = pt["changeset"]
unless create
raise OSM::APIBadXMLError.new("way", pt, "ID is required when updating") if pt["id"].nil?
way.id = pt["id"].to_i
# .to_i will return 0 if there is no number that can be parsed.
# We want to make sure that there is no id with zero anyway
@ -92,6 +95,7 @@ class Way < ActiveRecord::Base
pt.find("tag").each do |tag|
raise OSM::APIBadXMLError.new("way", pt, "tag is missing key") if tag["k"].nil?
raise OSM::APIBadXMLError.new("way", pt, "tag is missing value") if tag["v"].nil?
way.add_tag_keyval(tag["k"], tag["v"])
end
@ -194,6 +198,7 @@ class Way < ActiveRecord::Base
def create_with_history(user)
check_create_consistency(self, user)
raise OSM::APIPreconditionFailedError, "Cannot create way: data is invalid." unless preconditions_ok?
self.version = 0
self.visible = true
save_with_history!
@ -252,6 +257,7 @@ class Way < ActiveRecord::Base
if node_id < 0
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?
new_id
else
node_id