trabajo-afectivo/app/models/webhook.rb

24 lines
735 B
Ruby
Raw Normal View History

# Copyright (C) 2012-2016 Zammad Foundation, http://zammad-foundation.org/
class Webhook < ApplicationModel
include ChecksClientNotification
include ChecksLatestChangeObserved
include HasCollectionUpdate
before_create :validate_endpoint
before_update :validate_endpoint
before_destroy Webhook::EnsureNoRelatedObjects
validates :name, presence: true
private
def validate_endpoint
uri = URI.parse(endpoint)
raise Exceptions::UnprocessableEntity, 'Invalid endpoint (no http/https)!' if !uri.is_a?(URI::HTTP)
raise Exceptions::UnprocessableEntity, 'Invalid endpoint (no hostname)!' if uri.host.nil?
rescue URI::InvalidURIError
raise Exceptions::UnprocessableEntity, 'Invalid endpoint!'
end
end