
We want to differentiate between those RfCs explicitly marked as solved, those potentially solved since the author reached the maximum score, and those being unsolved where the author has not yet reached the full score yet.
41 lines
1010 B
Ruby
41 lines
1010 B
Ruby
# frozen_string_literal: true
|
|
|
|
class ApplicationRecord < ActiveRecord::Base
|
|
self.abstract_class = true
|
|
|
|
before_validation :strip_strings
|
|
before_validation :remove_null_bytes
|
|
|
|
def strip_strings
|
|
# trim whitespace from beginning and end of string attributes
|
|
# except for the `content` of CodeOcean::Files
|
|
# and except the `log` of TestrunMessages or the `output` of Testruns
|
|
attribute_names.without('content', 'log', 'output').each do |name|
|
|
if send(name.to_sym).respond_to?(:strip)
|
|
send(:"#{name}=", send(name).strip)
|
|
end
|
|
end
|
|
end
|
|
|
|
def remove_null_bytes
|
|
# remove null bytes from string attributes
|
|
attribute_names.each do |name|
|
|
if send(name.to_sym).respond_to?(:tr)
|
|
send(:"#{name}=", send(name).tr("\0", ''))
|
|
end
|
|
end
|
|
end
|
|
|
|
def self.ransackable_associations(_auth_object = nil)
|
|
[]
|
|
end
|
|
|
|
def self.ransackable_attributes(_auth_object = nil)
|
|
[]
|
|
end
|
|
|
|
def self.ransackable_scopes(_auth_object = nil)
|
|
[]
|
|
end
|
|
end
|