blob: 76efa50198b719c3c03f9320910bc85c34fc5646 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
class WebHook < ActiveRecord::Base
include HTTParty
# HTTParty timeout
default_timeout 10
validates :url,
presence: true,
format: {
with: URI::regexp(%w(http https)),
message: "should be a valid url" }
def execute(data)
parsed_url = URI.parse(url)
if parsed_url.userinfo.blank?
WebHook.post(url, body: data.to_json, headers: { "Content-Type" => "application/json" })
else
post_url = url.gsub(parsed_url.userinfo+"@", "")
WebHook.post(post_url,
body: data.to_json,
headers: { "Content-Type" => "application/json" },
basic_auth: {username: parsed_url.user, password: parsed_url.password})
end
end
end
# == Schema Information
#
# Table name: web_hooks
#
# id :integer(4) not null, primary key
# url :string(255)
# project_id :integer(4)
# created_at :datetime not null
# updated_at :datetime not null
#
|