Prefer String#match? over butt ugly Regexp#match?

This commit is contained in:
Tom Hughes 2019-03-26 19:12:18 +00:00
parent 5a5aa5f880
commit 9afcf14dfa
3 changed files with 6 additions and 6 deletions

View file

@ -17,11 +17,11 @@ class GeocoderController < ApplicationController
@sources.push "osm_nominatim_reverse"
@sources.push "geonames_reverse" if Settings.key?(:geonames_username)
elsif @params[:query]
if /^\d{5}(-\d{4})?$/.match?(@params[:query])
if @params[:query].match?(/^\d{5}(-\d{4})?$/)
@sources.push "osm_nominatim"
elsif /^(GIR 0AA|[A-PR-UWYZ]([0-9]{1,2}|([A-HK-Y][0-9]|[A-HK-Y][0-9]([0-9]|[ABEHMNPRV-Y]))|[0-9][A-HJKS-UW])\s*[0-9][ABD-HJLNP-UW-Z]{2})$/i.match?(@params[:query])
elsif @params[:query].match?(/^(GIR 0AA|[A-PR-UWYZ]([0-9]{1,2}|([A-HK-Y][0-9]|[A-HK-Y][0-9]([0-9]|[ABEHMNPRV-Y]))|[0-9][A-HJKS-UW])\s*[0-9][ABD-HJLNP-UW-Z]{2})$/i)
@sources.push "osm_nominatim"
elsif /^[A-Z]\d[A-Z]\s*\d[A-Z]\d$/i.match?(@params[:query])
elsif @params[:query].match?(/^[A-Z]\d[A-Z]\s*\d[A-Z]\d$/i)
@sources.push "ca_postcode"
@sources.push "osm_nominatim"
else

View file

@ -120,7 +120,7 @@ module BrowseTagsHelper
#
# Also accepting / as a visual separator although not given in RFC 3966,
# because it is used as a visual separator in OSM data in some countries.
if %r{^\s*\+[\d\s\(\)/\.-]{6,25}\s*(;\s*\+[\d\s\(\)/\.-]{6,25}\s*)*$}.match?(value)
if value.match?(%r{^\s*\+[\d\s\(\)/\.-]{6,25}\s*(;\s*\+[\d\s\(\)/\.-]{6,25}\s*)*$})
return value.split(";").map do |phone_number|
# for display, remove leading and trailing whitespace
phone_number = phone_number.strip

View file

@ -18,7 +18,7 @@ module PasswordHash
def self.check(hash, salt, candidate)
if salt.nil?
candidate = Digest::MD5.hexdigest(candidate)
elsif /!/.match?(salt)
elsif salt.match?(/!/)
algorithm, iterations, salt = salt.split("!")
size = Base64.strict_decode64(hash).length
candidate = self.hash(candidate, salt, iterations.to_i, size, algorithm)
@ -32,7 +32,7 @@ module PasswordHash
def self.upgrade?(hash, salt)
if salt.nil?
return true
elsif /!/.match?(salt)
elsif salt.match?(/!/)
algorithm, iterations, salt = salt.split("!")
return true if Base64.strict_decode64(salt).length != SALT_BYTE_SIZE
return true if Base64.strict_decode64(hash).length != HASH_BYTE_SIZE