mirror of
https://github.com/discourse/discourse.git
synced 2024-11-26 07:43:43 +08:00
427d54b2b0
Zeitwerk simplifies working with dependencies in dev and makes it easier reloading class chains. We no longer need to use Rails "require_dependency" anywhere and instead can just use standard Ruby patterns to require files. This is a far reaching change and we expect some followups here.
17 lines
552 B
Ruby
17 lines
552 B
Ruby
# frozen_string_literal: true
|
|
|
|
class AllowedIpAddressValidator < ActiveModel::EachValidator
|
|
|
|
def validate_each(record, attribute, value)
|
|
if record.ip_address
|
|
if ScreenedIpAddress.should_block?(record.ip_address)
|
|
record.errors.add(attribute, I18n.t('user.ip_address.blocked'))
|
|
end
|
|
if record.trust_level == TrustLevel[0] && SpamHandler.should_prevent_registration_from_ip?(record.ip_address)
|
|
record.errors.add(attribute, I18n.t('user.ip_address.max_new_accounts_per_registration_ip'))
|
|
end
|
|
end
|
|
end
|
|
|
|
end
|