Renamed member_id column in Follow table to follower_id. Made necessary modifications to models and tests.

This commit is contained in:
Yoong Kang Lim
2014-11-20 00:42:46 +11:00
parent 77f40a3dc2
commit 0eb5ae58aa
6 changed files with 17 additions and 12 deletions

View File

@@ -1,15 +1,15 @@
class Follow < ActiveRecord::Base
attr_accessible :followed_id, :member_id
belongs_to :member
attr_accessible :followed_id, :follower_id
belongs_to :follower, class_name: "Member"
belongs_to :followed, class_name: "Member"
validates :member_id, uniqueness: { :scope => :followed_id }
validates :follower_id, uniqueness: { :scope => :followed_id }
after_create do
Notification.create(
:recipient_id => self.followed_id,
:sender_id => self.member_id,
:subject => "#{self.member.login_name} has followed you",
:body => "#{self.member.login_name} has followed you"
:sender_id => self.follower_id,
:subject => "#{self.follower.login_name} has followed you",
:body => "#{self.follower.login_name} has followed you"
)
end

View File

@@ -27,11 +27,11 @@ class Member < ActiveRecord::Base
has_many :photos
has_many :follows
has_many :follows, :class_name => "Follow", :foreign_key => "follower_id"
has_many :followed, :through => :follows
has_many :inverse_follows, :class_name => "Follow", :foreign_key => "followed_id"
has_many :followers, :through => :inverse_follows, :source => :member
has_many :followers, :through => :inverse_follows, :source => :follower
default_scope order("lower(login_name) asc")
scope :confirmed, where('confirmed_at IS NOT NULL')

View File

@@ -0,0 +1,5 @@
class ChangeFollowsMemberIdToFollowerId < ActiveRecord::Migration
def change
rename_column :follows, :member_id, :follower_id
end
end

View File

@@ -11,7 +11,7 @@
#
# It's strongly recommended to check this file into your version control system.
ActiveRecord::Schema.define(:version => 20141111130849) do
ActiveRecord::Schema.define(:version => 20141119130555) do
create_table "account_types", :force => true do |t|
t.string "name", :null => false
@@ -81,7 +81,7 @@ ActiveRecord::Schema.define(:version => 20141111130849) do
add_index "crops_posts", ["crop_id"], :name => "index_crops_posts_on_crop_id"
create_table "follows", :force => true do |t|
t.integer "member_id"
t.integer "follower_id"
t.integer "followed_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false

View File

@@ -1,6 +1,6 @@
FactoryGirl.define do
factory :follow do
member_id 1
follower_id 1
followed_id 2
end

View File

@@ -10,7 +10,7 @@ describe Follow do
it "sends a notification when a follow is created" do
expect {
Follow.create(:member_id => @member1.id, :followed_id => @member2.id)
Follow.create(:follower_id => @member1.id, :followed_id => @member2.id)
}.to change(Notification, :count).by(1)
end
end