mirror of
https://github.com/Growstuff/growstuff.git
synced 2026-05-14 11:15:48 -04:00
Renamed member_id column in Follow table to follower_id. Made necessary modifications to models and tests.
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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')
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
class ChangeFollowsMemberIdToFollowerId < ActiveRecord::Migration
|
||||
def change
|
||||
rename_column :follows, :member_id, :follower_id
|
||||
end
|
||||
end
|
||||
@@ -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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
FactoryGirl.define do
|
||||
factory :follow do
|
||||
member_id 1
|
||||
follower_id 1
|
||||
followed_id 2
|
||||
end
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user