class SalesforceStreamer::Launcher
SalesforceStreamer::Launcher
is the entry point for starting the Restforce Streaming API server. It is responsible for upserting each PushTopic
and starting the server.
Public Class Methods
new()
click to toggle source
# File lib/salesforce_streamer/launcher.rb, line 6 def initialize load_server_configuration @manager = SalesforceTopicManager.new push_topics: @push_topics @server = Server.new push_topics: @push_topics end
Public Instance Methods
run()
click to toggle source
Manages each PushTopic
configured and starts the Streaming API listener.
# File lib/salesforce_streamer/launcher.rb, line 13 def run Log.info 'Launching Streamer Services' @manager.upsert_topics! @server.push_topics = @manager.push_topics @server.run end
Private Instance Methods
initialize_push_topics()
click to toggle source
# File lib/salesforce_streamer/launcher.rb, line 34 def initialize_push_topics Log.debug 'Loading and validating PushTopics configuration' @push_topics = [] Configuration.instance.push_topic_data.each_value do |topic_data| Log.debug topic_data.to_s @push_topics << PushTopic.new(**topic_data.transform_keys(&:to_sym)) end end
load_server_configuration()
click to toggle source
# File lib/salesforce_streamer/launcher.rb, line 22 def load_server_configuration require_application initialize_push_topics end
require_application()
click to toggle source
# File lib/salesforce_streamer/launcher.rb, line 27 def require_application return unless Configuration.instance.require_path Log.debug 'Loading the require path' require Configuration.instance.require_path end