Avoid using eval in postal code validation
We were getting a warning by Rubocop because we were using eval with a string defined by administrators, which in theory could be dangerous.
This commit is contained in:
@@ -105,8 +105,12 @@ class Verification::Residence
|
|||||||
end
|
end
|
||||||
|
|
||||||
def valid_postal_code?
|
def valid_postal_code?
|
||||||
postal_codes = Setting["postal_codes"].gsub("-", "..").split(",")
|
Setting["postal_codes"].split(",").any? do |code_or_range|
|
||||||
postal_codes = postal_codes.map { |i| eval(i) }.map { |i| i.is_a?(Range) ? i.to_a : [i] }.flatten
|
if code_or_range.include?("-")
|
||||||
postal_code.to_i.in?(postal_codes)
|
Range.new(*code_or_range.split("-").map(&:to_i)).include?(postal_code.to_i)
|
||||||
|
else
|
||||||
|
postal_code == code_or_range
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user