class StartHer::Heartbeat
Constants
- CHANNELS
- DEFAULT_OPTS
Attributes
options[R]
request[R]
response[RW]
Public Class Methods
call(request, service_klass, opts = {}, &subscriber_heartbeat_block)
click to toggle source
# File lib/start_her/heartbeat.rb, line 12 def self.call(request, service_klass, opts = {}, &subscriber_heartbeat_block) new(request, service_klass, opts, &subscriber_heartbeat_block).call end
new(request, service_klass, opts = {}, &subscriber_heartbeat_block)
click to toggle source
# File lib/start_her/heartbeat.rb, line 16 def initialize(request, service_klass, opts = {}, &subscriber_heartbeat_block) @request = request @subscriber_heartbeat_block = subscriber_heartbeat_block @options = DEFAULT_OPTS.merge opts @response = { id: msid(service_klass), generated_at: Time.now.utc.to_s, service_name: service_klass.to_s, ping: request['data'] } @response[:version] = service_klass::VERSION if defined? service_klass::VERSION end
Public Instance Methods
call()
click to toggle source
# File lib/start_her/heartbeat.rb, line 29 def call @subscriber_heartbeat_block.call(response) if @subscriber_heartbeat_block publish(options[:heartbeat][:out], id: SecureRandom.uuid, generated_at: Time.now.utc.to_s, data: response) end