Class: Promiscuous::Subscriber::Observer
- Includes:
- AMQP, Attributes, Class, Envelope, Polymorphic
- Defined in:
- lib/promiscuous/subscriber/observer.rb
Instance Attribute Summary
Attributes inherited from Base
Class Method Summary collapse
Instance Method Summary collapse
- #fetch ⇒ Object
- #process ⇒ Object
-
#process_attributes? ⇒ Boolean
XXX destroy callbacks will not set attributes (they are not sent).
Methods included from AMQP
Methods included from Class
Methods inherited from Base
#initialize, #payload, #should_update_parent?, #subscribe_options
Constructor Details
This class inherits a constructor from Promiscuous::Subscriber::Base
Class Method Details
.subscribe(options) ⇒ Object
22 23 24 25 26 27 28 |
# File 'lib/promiscuous/subscriber/observer.rb', line 22 def self.subscribe() super raise "#{klass} must inherit from Promiscuous::Observer" unless klass < Promiscuous::Observer use_payload_attribute :id use_payload_attribute :operation, :symbolize => true end |
Instance Method Details
#fetch ⇒ Object
8 9 10 |
# File 'lib/promiscuous/subscriber/observer.rb', line 8 def fetch klass.new.tap { |o| o.id = id if o.respond_to?(:id=) } end |
#process ⇒ Object
12 13 14 15 |
# File 'lib/promiscuous/subscriber/observer.rb', line 12 def process super instance.run_callbacks operation end |
#process_attributes? ⇒ Boolean
XXX destroy callbacks will not set attributes (they are not sent)
18 19 20 |
# File 'lib/promiscuous/subscriber/observer.rb', line 18 def process_attributes? operation != :destroy end |