diff options
author | Valery Sizov <vsv2711@gmail.com> | 2015-03-16 17:20:17 +0200 |
---|---|---|
committer | Valery Sizov <vsv2711@gmail.com> | 2015-03-16 21:38:41 +0200 |
commit | 1b437ec3498bc544dbd1b252f5c755e9073407fd (patch) | |
tree | e3c0cea66260a2b65d21b660ebd4b042a6b0c80c /app/models | |
parent | f53683e67fa0db7b13d0dee977bc21206af7e0fd (diff) | |
download | gitlab-ce-1b437ec3498bc544dbd1b252f5c755e9073407fd.tar.gz |
tests
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/concerns/issuable.rb | 8 | ||||
-rw-r--r-- | app/models/subscription.rb | 13 |
2 files changed, 20 insertions, 1 deletions
diff --git a/app/models/concerns/issuable.rb b/app/models/concerns/issuable.rb index d1a35ca5294..88ac83744df 100644 --- a/app/models/concerns/issuable.rb +++ b/app/models/concerns/issuable.rb @@ -133,7 +133,7 @@ module Issuable users.concat(mentions.reduce([], :|)).uniq end - def subscription_status(user) + def subscribed?(user) subscription = subscriptions.find_by_user_id(user.id) if subscription @@ -143,6 +143,12 @@ module Issuable participants.include?(user) end + def toggle_subscription(user) + subscriptions. + find_or_initialize_by(user_id: user.id). + update(subscribed: !subscribed?(user)) + end + def to_hook_data(user) { object_kind: self.class.name.underscore, diff --git a/app/models/subscription.rb b/app/models/subscription.rb index 276cf0e9465..dd75d3ab8ba 100644 --- a/app/models/subscription.rb +++ b/app/models/subscription.rb @@ -1,3 +1,16 @@ +# == Schema Information +# +# Table name: subscriptions +# +# id :integer not null, primary key +# user_id :integer +# subscribable_id :integer +# subscribable_type :string(255) +# subscribed :boolean +# created_at :datetime +# updated_at :datetime +# + class Subscription < ActiveRecord::Base belongs_to :user belongs_to :subscribable, polymorphic: true |