module Subscribable::RelationAssigner

Public Instance Methods

delete_subscription_to!(actor) click to toggle source
# File lib/subscribable/relation_assigner.rb, line 33
def delete_subscription_to!(actor)
  subscription = subscription_with(actor)
  subscription.delete
end
subscribe_to!(actor) click to toggle source
# File lib/subscribable/relation_assigner.rb, line 27
def subscribe_to!(actor)
  sub = subscriptions.new
  sub.subscription = actor
  sub.save
end
subscribed_to?(actor) click to toggle source
# File lib/subscribable/relation_assigner.rb, line 38
def subscribed_to?(actor)
  query = actor.subscribers.where(subscriber_id: id, subscriber_type: self.class.name)
  query.empty? ? false : true
end
subscribers_from(*args) click to toggle source
# File lib/subscribable/relation_assigner.rb, line 19
def subscribers_from(*args)
  subscribers.where(subscriber_type: args)
end
subscriptions_to(*args) click to toggle source
# File lib/subscribable/relation_assigner.rb, line 23
def subscriptions_to(*args)
  subscriptions.where(subscription_type: args)
end

Private Instance Methods

subscription_with(actor) click to toggle source
# File lib/subscribable/relation_assigner.rb, line 44
def subscription_with(actor)
  subscriptions.where(subscription_id: actor.id, subscription_type: actor.class.name).first
end