Commit c3b074ac authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Service model and service hook

parent be1dc554
# == 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
# == 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
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
class AddServiceIdToWebHook < ActiveRecord::Migration
def change
add_column :web_hooks, :service_id, :integer, null: true
end
end
# == 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
# == 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
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment