about summary refs log tree commit diff
path: root/app/models
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2016-02-24 12:57:29 +0100
committerEugen Rochko <eugen@zeonfederated.com>2016-02-24 12:57:29 +0100
commitfa7868675d0952f8e4e1aa2f6b77586bb56de2c1 (patch)
tree33b79c306943ade9c5bc49a06cfedf1e2aee231a /app/models
parent10eb47a33e2f0c7f0eba5302319c4321db41294c (diff)
Send Salmon interactions
Diffstat (limited to 'app/models')
-rw-r--r--app/models/favourite.rb2
-rw-r--r--app/models/follow.rb6
-rw-r--r--app/models/status.rb7
3 files changed, 9 insertions, 6 deletions
diff --git a/app/models/favourite.rb b/app/models/favourite.rb
index 20260f46b..ad5380f43 100644
--- a/app/models/favourite.rb
+++ b/app/models/favourite.rb
@@ -2,7 +2,7 @@ class Favourite < ActiveRecord::Base
   belongs_to :account, inverse_of: :favourites
   belongs_to :status,  inverse_of: :favourites
 
-  has_one :stream_entry, as: :activity
+  has_one :stream_entry, as: :activity, dependent: :destroy
 
   def verb
     :favorite
diff --git a/app/models/follow.rb b/app/models/follow.rb
index aa723d705..3521247e8 100644
--- a/app/models/follow.rb
+++ b/app/models/follow.rb
@@ -2,13 +2,13 @@ class Follow < ActiveRecord::Base
   belongs_to :account
   belongs_to :target_account, class_name: 'Account'
 
-  has_one :stream_entry, as: :activity
+  has_one :stream_entry, as: :activity, dependent: :destroy
 
   validates :account, :target_account, presence: true
   validates :account_id, uniqueness: { scope: :target_account_id }
 
   def verb
-    :follow
+    self.destroyed? ? :unfollow : :follow
   end
 
   def target
@@ -20,7 +20,7 @@ class Follow < ActiveRecord::Base
   end
 
   def content
-    "#{self.account.acct} started following #{self.target_account.acct}"
+    self.destroyed? ? "#{self.account.acct} is no longer following #{self.target_account.acct}" : "#{self.account.acct} started following #{self.target_account.acct}"
   end
 
   def title
diff --git a/app/models/status.rb b/app/models/status.rb
index 72bf1b790..be616dce6 100644
--- a/app/models/status.rb
+++ b/app/models/status.rb
@@ -4,8 +4,11 @@ class Status < ActiveRecord::Base
   belongs_to :thread, foreign_key: 'in_reply_to_id', class_name: 'Status'
   belongs_to :reblog, foreign_key: 'reblog_of_id', class_name: 'Status'
 
-  has_one :stream_entry, as: :activity
-  has_many :favourites, inverse_of: :status
+  has_one :stream_entry, as: :activity, dependent: :destroy
+
+  has_many :favourites, inverse_of: :status, dependent: :destroy
+  has_many :reblogs, foreign_key: 'reblog_of_id', class_name: 'Status'
+  has_many :replies, foreign_key: 'in_reply_to_id', class_name: 'Status'
 
   validates :account, presence: true
   validates :uri, uniqueness: true, unless: 'local?'