Bump rails to 5.2 and update rubocop

This commit is contained in:
John Lees-Miller
2020-05-30 09:40:57 +01:00
parent df28c040d4
commit 80216c6740
78 changed files with 373 additions and 149 deletions

View File

@ -1,10 +1,12 @@
# frozen_string_literal: true
#
# Make a model findable only when a secure token is provided.
#
module FindableWithToken
extend ActiveSupport::Concern
ID_TOKEN_RX = /\A(\d+)-(\w+)\z/
ID_TOKEN_RX = /\A(\d+)-(\w+)\z/.freeze
included do
has_secure_token
@ -15,12 +17,14 @@ module FindableWithToken
def self.find_by_id_token(id_token)
raise ActiveRecord::RecordNotFound unless id_token =~ ID_TOKEN_RX
id = Regexp.last_match(1)
token = Regexp.last_match(2)
record = find(id)
raise ActiveRecord::RecordNotFound unless
ActiveSupport::SecurityUtils.secure_compare(record.token, token)
record
end
end