gitlab-org--gitlab-foss/app/validators/cron_validator.rb

16 lines
485 B
Ruby
Raw Normal View History

2017-03-31 13:02:26 -04:00
# CronValidator
#
# Custom validator for Cron.
class CronValidator < ActiveModel::EachValidator
def validate_each(record, attribute, value)
cron_parser = Gitlab::Ci::CronParser.new(record.cron, record.cron_time_zone)
2017-03-31 13:02:26 -04:00
is_valid_cron, is_valid_cron_time_zone = cron_parser.validation
if !is_valid_cron
record.errors.add(:cron, " is invalid syntax")
elsif !is_valid_cron_time_zone
record.errors.add(:cron_time_zone, " is invalid timezone")
end
end
end