Sha256: 152618fb949adaca0252279e5af938e9c217d4b8301249fe6e82d04efa76c2cb
Contents?: true
Size: 819 Bytes
Versions: 1
Compression:
Stored size: 819 Bytes
Contents
class Reactor::Subscriber < ActiveRecord::Base attr_accessible :event attr_accessor :message def event=(event) write_attribute :event, event.to_s end def fire(data) self.message = Reactor::Message.new(data) instance_exec &self.class.on_fire self end def delay_amount self.class.delay_amount end class << self def on_fire(&block) if block @fire_block = block end @fire_block end def fire(subscriber_id, data) Reactor::Subscriber.find(subscriber_id).fire data end def subscribes_to(name = nil, delay: nil) @delay_amount = delay #subscribers << name #TODO: REMEMBER SUBSCRIBERS so we can define them in code as well as with a row in the DB end def delay_amount @delay_amount end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
reactor-0.0.1 | lib/reactor/models/subscriber.rb |