Module: Broadcast::Publishable

Included in:
Message
Defined in:
lib/broadcast/publishable.rb

Overview

Module which allows any class to be turned into a message

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



4
5
6
# File 'lib/broadcast/publishable.rb', line 4

def self.included(base)
  base.extend ClassMethods
end

Instance Method Details

#bodyObject



31
32
33
# File 'lib/broadcast/publishable.rb', line 31

def body
  ""
end

#publishObject



18
19
20
21
22
23
24
25
26
# File 'lib/broadcast/publishable.rb', line 18

def publish
  (self.class.media || []).each do |medium|
    begin
      Broadcast::Medium.const_get(medium[:name].to_s.downcase.capitalize).new(medium[:options]).publish(self)
    rescue
      Broadcast.logger.error "Publishing of #{self.class.name} to #{medium[:name]} failed:\n#{$!}"
    end
  end
end

#subjectObject



28
29
# File 'lib/broadcast/publishable.rb', line 28

def subject
end