Service model and service hook
This commit is contained in:
parent
be1dc5544a
commit
c3b074acab
7 changed files with 97 additions and 0 deletions
BIN
app/assets/images/service-gitlab-ci.png
Normal file
BIN
app/assets/images/service-gitlab-ci.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.7 KiB |
21
app/models/service.rb
Normal file
21
app/models/service.rb
Normal file
|
@ -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
|
15
app/models/service_hook.rb
Normal file
15
app/models/service_hook.rb
Normal file
|
@ -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
|
12
db/migrate/20121119170638_create_services.rb
Normal file
12
db/migrate/20121119170638_create_services.rb
Normal file
|
@ -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
|
5
db/migrate/20121120051432_add_service_id_to_web_hook.rb
Normal file
5
db/migrate/20121120051432_add_service_id_to_web_hook.rb
Normal file
|
@ -0,0 +1,5 @@
|
|||
class AddServiceIdToWebHook < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :web_hooks, :service_id, :integer, null: true
|
||||
end
|
||||
end
|
19
spec/models/service_hook_spec.rb
Normal file
19
spec/models/service_hook_spec.rb
Normal file
|
@ -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
|
25
spec/models/service_spec.rb
Normal file
25
spec/models/service_spec.rb
Normal file
|
@ -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 a new issue