Module: Sinapse::Publishable

Defined in:
lib/sinapse/publishable.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



6
7
8
# File 'lib/sinapse/publishable.rb', line 6

def self.included(klass)
  klass.__send__ :alias_method, :publish, :sinapse_publish unless klass.respond_to?(:publish)
end

Instance Method Details

#sinapse_channelObject



15
16
17
# File 'lib/sinapse/publishable.rb', line 15

def sinapse_channel
  [self.class.name.underscore.singularize, self.to_param].join(':')
end

#sinapse_publish(message, options = nil) ⇒ Object



10
11
12
13
# File 'lib/sinapse/publishable.rb', line 10

def sinapse_publish(message, options = nil)
  data = Publishable.pack(message, options)
  Sinapse.redis { |redis| redis.publish(sinapse_channel, data) }
end