cast me sync
This commit is contained in:
@@ -5,6 +5,7 @@ class CastingCallInterview < ApplicationRecord
|
||||
has_secure_token
|
||||
|
||||
validates :performer_name, presence: true
|
||||
validate :zoom_meeting_url_validation
|
||||
|
||||
scope :completed, -> { where.not(interviewed_at: nil) }
|
||||
|
||||
@@ -19,4 +20,19 @@ class CastingCallInterview < ApplicationRecord
|
||||
def zip_file_name
|
||||
"#{self.casting_call.title.parameterize}_#{self.performer_name.parameterize}_#{Time.now.strftime('%Y-%m-%d_%H-%M-%S')}"
|
||||
end
|
||||
|
||||
def zoom_meeting_url_validation
|
||||
# valid url format :
|
||||
# https://us01web.zoom.us/j/12345?pwd=Ab103odw3ok343ko
|
||||
valid_url_regex = %r{^https\://[a-z0-9]+\.zoom.us/j/[0-9]+\?pwd\=.+}
|
||||
return true if zoom_meeting_url.match valid_url_regex
|
||||
|
||||
errors.add(:base, invalid_meeting_url_message)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def invalid_meeting_url_message
|
||||
I18n.t('casting_call_interviews.validation_errors.invalid_meeting_url')
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user