2011-12-14 11:38:52 -05:00
|
|
|
class WebHook < ActiveRecord::Base
|
|
|
|
include HTTParty
|
|
|
|
|
|
|
|
# HTTParty timeout
|
|
|
|
default_timeout 10
|
|
|
|
|
|
|
|
belongs_to :project
|
|
|
|
|
|
|
|
validates :url,
|
|
|
|
presence: true,
|
|
|
|
format: {
|
2011-12-26 04:12:09 -05:00
|
|
|
with: URI::regexp(%w(http https)),
|
2011-12-14 11:38:52 -05:00
|
|
|
message: "should be a valid url" }
|
|
|
|
|
|
|
|
def execute(data)
|
2012-03-04 20:38:18 -05:00
|
|
|
WebHook.post(url, body: data.to_json, headers: { "Content-Type" => "application/json" })
|
2011-12-14 11:38:52 -05:00
|
|
|
rescue
|
|
|
|
# There was a problem calling this web hook, let's forget about it.
|
|
|
|
end
|
|
|
|
end
|
2012-01-03 16:39:03 -05:00
|
|
|
# == Schema Information
|
|
|
|
#
|
|
|
|
# Table name: web_hooks
|
|
|
|
#
|
|
|
|
# id :integer not null, primary key
|
|
|
|
# url :string(255)
|
|
|
|
# project_id :integer
|
|
|
|
# created_at :datetime
|
|
|
|
# updated_at :datetime
|
|
|
|
#
|
|
|
|
|