Class: Bustle::Subscriptions

Inherits:
Object
  • Object
show all
Includes:
Concern::ByPublisher, Concern::Filterable, Concern::ForSubscriber
Defined in:
lib/bustle/subscriptions.rb

Constant Summary collapse

RESOURCE_NAME =
'Bustle::Subscription'

Class Method Summary collapse

Class Method Details

.add(publisher, subscriber) ⇒ Object



17
18
19
20
21
# File 'lib/bustle/subscriptions.rb', line 17

def add(publisher, subscriber)
  add!(publisher, subscriber)
rescue
  get(publisher, subscriber)
end

.add!(publisher, subscriber) ⇒ Object



10
11
12
13
14
15
# File 'lib/bustle/subscriptions.rb', line 10

def add!(publisher, subscriber)
  Subscription.to_adapter.create!(
    :publisher_id  => publisher.id,
    :subscriber_id => subscriber.id
  )
end

.get(publisher, subscriber) ⇒ Object



23
24
25
26
27
28
# File 'lib/bustle/subscriptions.rb', line 23

def get(publisher, subscriber)
  Subscription.to_adapter.find_first(
    :publisher_id  => publisher.id,
    :subscriber_id => subscriber.id
  )
end

.remove(publisher, subscriber) ⇒ Object



30
31
32
# File 'lib/bustle/subscriptions.rb', line 30

def remove(publisher, subscriber)
  get(publisher, subscriber).destroy
end