4768aca484
* Add Conversation factory with dependent factories * Include FactoryBot methods in rspec config * Add unit tests for public methods of Conversation model * Move Current model into a separate file in lib folder * Disable Metrics/BlockLength rule for db/migrate and spec folders * Get rid of global $dispatcher variable * Create Message#unread_since scope * Refactor callback methods in Conversation model * Create Conversations::EventDataPresenter * Add translation keys for activity messages * Add pry-rails gem * Refactor Conversation#notify_status_change * Add mock_redis for test env
24 lines
639 B
Ruby
24 lines
639 B
Ruby
class Dispatcher
|
|
include Singleton
|
|
|
|
attr_reader :async_dispatcher, :sync_dispatcher
|
|
|
|
def self.dispatch(event_name, timestamp, data, async = false)
|
|
Rails.configuration.dispatcher.dispatch(event_name, timestamp, data, async)
|
|
end
|
|
|
|
def initialize
|
|
@sync_dispatcher = SyncDispatcher.new
|
|
@async_dispatcher = AsyncDispatcher.new
|
|
end
|
|
|
|
def dispatch(event_name, timestamp, data, async = false)
|
|
@sync_dispatcher.dispatch(event_name, timestamp, data)
|
|
@async_dispatcher.dispatch(event_name, timestamp, data)
|
|
end
|
|
|
|
def load_listeners
|
|
@sync_dispatcher.load_listeners
|
|
@async_dispatcher.load_listeners
|
|
end
|
|
end
|