Class: PubSubModelSync::Runner

Inherits:
Object
  • Object
show all
Defined in:
lib/pub_sub_model_sync/runner.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeRunner

Returns a new instance of Runner.



9
10
11
# File 'lib/pub_sub_model_sync/runner.rb', line 9

def initialize
  @connector = PubSubModelSync::Connector.new
end

Instance Attribute Details

#connectorObject

Returns the value of attribute connector.



7
8
9
# File 'lib/pub_sub_model_sync/runner.rb', line 7

def connector
  @connector
end

Class Method Details

.preload_listenersObject



20
21
22
23
# File 'lib/pub_sub_model_sync/runner.rb', line 20

def self.preload_listeners
  Rails.application.try(:eager_load!) if defined?(Rails)
  Zeitwerk::Loader.eager_load_all if defined?(Zeitwerk::Loader)
end

Instance Method Details

#runObject



13
14
15
16
17
18
# File 'lib/pub_sub_model_sync/runner.rb', line 13

def run
  at_exit { connector.stop }
  trap_signals!
  preload_listeners
  start_listeners
end