Permalink
Browse files

Service model and service hook

  • Loading branch information...
1 parent be1dc55 commit c3b074acab554fc40a8fcb6060ed7ab10e4171a4 @dzaporozhets dzaporozhets committed Nov 19, 2012
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
@@ -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
View
@@ -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

0 comments on commit c3b074a

Please sign in to comment.