module PubSub::Domain
Public Instance Methods
handler_name(event_name)
click to toggle source
# File lib/pub_sub/domain.rb, line 13 def handler_name(event_name) return nil unless event_name.to_s.start_with?(/[a-z_]+__/) "#{event_name.to_s.camelize}Handler" end
method_missing(event_or_method_name, *event_data)
click to toggle source
Calls superclass method
# File lib/pub_sub/domain.rb, line 3 def method_missing(event_or_method_name, *event_data) if handler_name(event_or_method_name) event_payload = event_data.extract_options! EventTrace.load_from(event_payload.delete(:event_uid)) const_get(handler_name(event_or_method_name)).new(event_payload).call! else super end end
respond_to_missing?(event_or_method_name, include_private = false)
click to toggle source
Calls superclass method
# File lib/pub_sub/domain.rb, line 18 def respond_to_missing?(event_or_method_name, include_private = false) return super unless handler_name(event_or_method_name) const_get(handler_name(event_or_method_name)) rescue NameError super end