Service model and service hook
parent
be1dc5544a
commit
c3b074acab
Binary file not shown.
After Width: | Height: | Size: 2.7 KiB |
|
@ -0,0 +1,21 @@
|
|||
# == Schema Information
|
||||
#
|
||||
# Table name: services
|
||||
#
|
||||
# id :integer not null, primary key
|
||||
# type :string(255)
|
||||
# title :string(255)
|
||||
# token :string(255)
|
||||
# project_id :integer not null
|
||||
# created_at :datetime not null
|
||||
# updated_at :datetime not null
|
||||
#
|
||||
|
||||
class Service < ActiveRecord::Base
|
||||
attr_accessible :title, :token, :type
|
||||
|
||||
belongs_to :project
|
||||
has_one :service_hook
|
||||
|
||||
validates :project_id, presence: true
|
||||
end
|
|
@ -0,0 +1,15 @@
|
|||
# == Schema Information
|
||||
#
|
||||
# Table name: web_hooks
|
||||
#
|
||||
# id :integer not null, primary key
|
||||
# url :string(255)
|
||||
# project_id :integer
|
||||
# created_at :datetime not null
|
||||
# updated_at :datetime not null
|
||||
# type :string(255) default("ProjectHook")
|
||||
#
|
||||
|
||||
class ServiceHook < WebHook
|
||||
belongs_to :service
|
||||
end
|
|
@ -0,0 +1,12 @@
|
|||
class CreateServices < ActiveRecord::Migration
|
||||
def change
|
||||
create_table :services do |t|
|
||||
t.string :type
|
||||
t.string :title
|
||||
t.string :token
|
||||
t.integer :project_id, null: false
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,5 @@
|
|||
class AddServiceIdToWebHook < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :web_hooks, :service_id, :integer, null: true
|
||||
end
|
||||
end
|
|
@ -0,0 +1,19 @@
|
|||
# == Schema Information
|
||||
#
|
||||
# Table name: web_hooks
|
||||
#
|
||||
# id :integer not null, primary key
|
||||
# url :string(255)
|
||||
# project_id :integer
|
||||
# created_at :datetime not null
|
||||
# updated_at :datetime not null
|
||||
# type :string(255) default("ProjectHook")
|
||||
#
|
||||
|
||||
require "spec_helper"
|
||||
|
||||
describe ServiceHook do
|
||||
describe "Associations" do
|
||||
it { should belong_to :service }
|
||||
end
|
||||
end
|
|
@ -0,0 +1,25 @@
|
|||
# == Schema Information
|
||||
#
|
||||
# Table name: services
|
||||
#
|
||||
# id :integer not null, primary key
|
||||
# type :string(255)
|
||||
# title :string(255)
|
||||
# token :string(255)
|
||||
# project_id :integer not null
|
||||
# created_at :datetime not null
|
||||
# updated_at :datetime not null
|
||||
#
|
||||
|
||||
require 'spec_helper'
|
||||
|
||||
describe Service do
|
||||
describe "Associations" do
|
||||
it { should belong_to :project }
|
||||
it { should have_one :service_hook }
|
||||
end
|
||||
|
||||
describe "Mass assignment" do
|
||||
it { should_not allow_mass_assignment_of(:project_id) }
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue