mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
DEV: stop mutating inputs as a side effect
We had quite a few cases in core where inputs are being mutated as a side effect of calling a method. This handles all the cases where specs caught this. Mutating inputs makes code harder to reason about. Eg: ``` frog = "frog" jump(frog) puts frog "fly" # ????? ``` This commit is part of a followup commit that adds # frozen_string_literal to all our specs.
This commit is contained in:
@@ -1,15 +1,16 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class ReplyByEmailAddressValidator
|
||||
def initialize(opts = {})
|
||||
@opts = opts
|
||||
end
|
||||
|
||||
def valid_value?(val)
|
||||
val&.strip!
|
||||
|
||||
return true if val.blank?
|
||||
return false if !val.include?("@")
|
||||
|
||||
value = val.dup
|
||||
value.strip!
|
||||
|
||||
if SiteSetting.find_related_post_with_key
|
||||
return false if !value.include?("%{reply_key}")
|
||||
|
||||
Reference in New Issue
Block a user