class Zulu::Subscription

Constants

KEY_PREFIX

Public Class Methods

new(options={}) click to toggle source
# File lib/zulu/subscription.rb, line 8
def initialize(options={})
  @id       = options[:id]
  @topic    = options[:topic]
  @callback = options[:callback]
end

Public Instance Methods

==(other) click to toggle source
# File lib/zulu/subscription.rb, line 14
def ==(other)
  id == other.id
end
callback() click to toggle source
# File lib/zulu/subscription.rb, line 22
def callback
  @callback ||= Zulu.redis.get "#{KEY_PREFIX}:#{id}:callback"
end
destroy() click to toggle source
# File lib/zulu/subscription.rb, line 36
def destroy
  Zulu.redis.del "#{KEY_PREFIX}:#{id}:callback"
  topic.unsubscribe(id)
end
id() click to toggle source
# File lib/zulu/subscription.rb, line 18
def id
  @id ||= Digest::MD5.hexdigest [@topic, @callback].join(':')
end
save() click to toggle source
# File lib/zulu/subscription.rb, line 30
def save
  Zulu.redis.set "#{KEY_PREFIX}:#{id}:callback", callback
  topic.save
  topic.subscribe(id)
end
topic() click to toggle source
# File lib/zulu/subscription.rb, line 26
def topic
  @topic_object ||= Topic.new(topic: @topic)
end