Module: Promiscuous::Subscriber::Polymorphic::ClassMethods
- Defined in:
- lib/promiscuous/subscriber/polymorphic.rb
Instance Method Summary collapse
- #from_type ⇒ Object
- #from_type=(value) ⇒ Object
- #inherited(subclass) ⇒ Object
- #polymorphic_subscriber_from(payload) ⇒ Object
- #setup_polymorphic_mapping ⇒ Object
Instance Method Details
#from_type ⇒ Object
12 13 14 |
# File 'lib/promiscuous/subscriber/polymorphic.rb', line 12 def from_type super ? super : guess_class_name('Subscribers') end |
#from_type=(value) ⇒ Object
16 17 18 19 |
# File 'lib/promiscuous/subscriber/polymorphic.rb', line 16 def from_type=(value) super setup_polymorphic_mapping end |
#inherited(subclass) ⇒ Object
26 27 28 29 |
# File 'lib/promiscuous/subscriber/polymorphic.rb', line 26 def inherited(subclass) super subclass.setup_polymorphic_mapping unless .has_key?(:class) end |
#polymorphic_subscriber_from(payload) ⇒ Object
31 32 33 34 |
# File 'lib/promiscuous/subscriber/polymorphic.rb', line 31 def polymorphic_subscriber_from(payload) type = payload.is_a?(Hash) ? payload['type'] : nil polymorphic_map[type] || self end |
#setup_polymorphic_mapping ⇒ Object
21 22 23 24 |
# File 'lib/promiscuous/subscriber/polymorphic.rb', line 21 def setup_polymorphic_mapping self.polymorphic_map ||= {} polymorphic_map[from_type.to_s] = self if from_type end |