discourse/lib/validators/allowed_ip_address_validator.rb
Krzysztof Kotlarek 427d54b2b0 DEV: Upgrading Discourse to Zeitwerk (#8098)
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.
2019-10-02 14:01:53 +10:00

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