diff --git a/app/validators/status_length_validator.rb b/app/validators/status_length_validator.rb index 02aa04fa4b..d77a0ac610 100644 --- a/app/validators/status_length_validator.rb +++ b/app/validators/status_length_validator.rb @@ -1,23 +1,20 @@ # frozen_string_literal: true class StatusLengthValidator < ActiveModel::Validator + MAX_CHARS = (ENV['MAX_CHARS'] || 500).to_i URL_PLACEHOLDER_CHARS = 23 URL_PLACEHOLDER = 'x' * 23 - def max_chars - @max_chars ||= ENV.fetch('MAX_CHARACTERS', 500).to_i - end - def validate(status) return unless status.local? && !status.reblog? - status.errors.add(:text, I18n.t('statuses.over_character_limit', max: max_chars)) if too_long?(status) + status.errors.add(:text, I18n.t('statuses.over_character_limit', max: MAX_CHARS)) if too_long?(status) end private def too_long?(status) - countable_length(combined_text(status)) > max_chars + countable_length(combined_text(status)) > MAX_CHARS end def countable_length(str) @@ -59,4 +56,4 @@ class StatusLengthValidator < ActiveModel::Validator result << str[last_index..] result end -end \ No newline at end of file +end